gpt4 book ai didi

javascript - wavesurfer.js 页面上的多个实例

转载 作者:行者123 更新时间:2023-11-30 16:59:35 26 4
gpt4 key购买 nike

我正在使用 wavesurfer.js当页面上只有一个实例时效果很好,但我有多个实例并且不知道(因为我是一个 javascript 新手)如何将播放按钮链接到不同的实例。

我只需要一些帮助...这就是我目前所拥有的

    <div id="demoOne">
<div id="trackOne">
<script type="text/javascript">
var wavesurfer = Object.create(WaveSurfer);

wavesurfer.init({
container: document.querySelector('#trackOne'),
waveColor: '#fff',
progressColor: '#000',
cursorColor: '#333'
});
wavesurfer.load('audio/location01.mp3');
</script>
</div>
<div class="controls">
<button class="btn" data-action="play">
<i class="glyphicon glyphicon-play"></i>
</button>
</div>
</div>
<div id="demoTwo">
<div id="trackTwo">
<script type="text/javascript">
var wavesurfer = Object.create(WaveSurfer);

wavesurfer.init({
container: document.querySelector('#trackTwo'),
waveColor: '#fff',
progressColor: '#000',
cursorColor: '#333'
});
wavesurfer.load('audio/location02.mp3');
</script>
</div>
<div class="controls">
<button class="btn" data-action="play">
<i class="glyphicon glyphicon-play"></i>
</button>
</div>
</div>

我环顾四周,想象着这样的事情

<button onclick="document.getElementById('trackOne').play()">Play</button>

谁能引导我朝着正确的方向前进?

最佳答案

由于我是 javascript 的新手,这可能不是“最好”的方式,但它对我有用。

主要.js

var sample1 = Object.create(WaveSurfer);

document.addEventListener('DOMContentLoaded', function () {
var options = {
container : document.querySelector('#sample1'),
waveColor : 'violet',
progressColor : 'purple',
cursorColor : 'navy'
};

sample1.init(options);

sample1.load('media/sample1.3gp');
});

var sample2 = Object.create(WaveSurfer);

document.addEventListener('DOMContentLoaded', function () {
var options = {
container : document.querySelector('#sample2'),
waveColor : 'violet',
progressColor : 'purple',
cursorColor : 'navy'
};

sample2.init(options);

sample2.load('media/sample2.3gp');

});

琐事.js

var GLOBAL_ACTIONS = {
'playSample1': function () {
sample1.playPause();
},
'playSample2': function () {
sample2.playPause();
}
};

document.addEventListener('DOMContentLoaded', function () {
[].forEach.call(document.querySelectorAll('[data-action]'), function (el) {
el.addEventListener('click', function (e) {
var action = e.currentTarget.dataset.action;
if (action in GLOBAL_ACTIONS) {
e.preventDefault();
GLOBAL_ACTIONS[action](e);
}
});
});
});

然后你可以用这样的东西来控制玩家:

<div class="controls">
<button class="btn btn-default" data-action="playSample1">
<i class="glyphicon glyphicon-play"></i> /
<i class="glyphicon glyphicon-pause"></i>
</button>
</div>

关于javascript - wavesurfer.js 页面上的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29126035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com