我的网站在一个页面上有几个音频播放器。大多数情况下,这些音频播放器将依赖于html5 <audio>
元素,但是对于某些网站,有一个flash / <object>
后备。我想要为每个玩家添加音量控制,但是想到我可以为所有玩家使用一个通用音量控制(因为一次只能玩一个玩家)我尝试研究这个主题,但找不到任何有用的信息。所以我决定问社区,有没有办法,无论是<audio>
还是flash后备,都可以控制整个网站的数量?也许jQuery解决方案,一些html5魔术?或者需要做些什么才能使其发挥作用?
答案 0 :(得分:0)
如果您正在寻找一种简化音频实现的方法,我建议您查看SoundManager2,它摘要处理不支持HTML5音频(和/或特定音频编解码器)的浏览器。无论是使用本机音频还是Flash后备,它的API都是一样的。
然后你只需要创建一些全局音频参考,它可以保存你当前播放的任何音频:
var myAudio,
myVolume = 100,
$volume = $('#volume');
$volume.slider({
value: myVolume,
min: 0,
max: 100,
step: 0.1,
slide: function(e, ui){
if (myAudio) myAudio.setVolume(ui.value);
},
stop: function(e, ui){
myVolume = ui.value;
}
});
// every time you wan to play a new sound
myAudio = soundManager.createSound({
url: '/path/to/song.mp3'
volume: $volume.slider('value')
});
每次用户点击某些内容播放另一段音频时,只需将新的声音对象指定给myAudio
。