Javascript 自动播放音频播放列表SoundManager 2条用户界面

Javascript 自动播放音频播放列表SoundManager 2条用户界面,javascript,jquery,soundmanager2,Javascript,Jquery,Soundmanager2,**编辑** 请参见下面Jon Black的答案作为正确的解决方案 我试图在网站上为客户使用SoundManager2 HTML5音频播放器,但客户坚持.mp3播放列表从曲目1开始自动播放,然后循环播放其余曲目 原始脚本(站点上的soundmanager2.js)有一个autoPlay:false选项,但将其更改为true不会产生任何效果 下面是我利用SoundManager2的bar ui(这是客户端想要使用的样式)和在后台自动播放.mp3曲目的脚本创建的演示网站的链接: 正如您所看到(和听到

**编辑**

请参见下面Jon Black的答案作为正确的解决方案

我试图在网站上为客户使用SoundManager2 HTML5音频播放器,但客户坚持.mp3播放列表从曲目1开始自动播放,然后循环播放其余曲目

原始脚本(站点上的soundmanager2.js)有一个autoPlay:false选项,但将其更改为true不会产生任何效果

下面是我利用SoundManager2的bar ui(这是客户端想要使用的样式)和在后台自动播放.mp3曲目的脚本创建的演示网站的链接:

正如您所看到(和听到的),背景音频自动播放效果很好,但并不像预期的那样通过声音栏播放。如果单击“播放”或单击“曲目”菜单中的播放列表项,则新单击的音频仅在背景音频上播放,这是不需要的。我需要的播放列表奥迪自动播放的能力,播放,暂停和选择不同的曲目通过声音栏本身

我希望有人能告诉我如何创建一个功能或提供一个脚本,使播放列表可以在页面加载时通过音频播放器用户界面自动播放

我已经做了大量的搜索,并尝试编写和拼凑脚本,但似乎无法让它工作!所以,我转向天才们


提前感谢您的帮助

我想出了一个简单快捷的方法来解决你的困境。您只需在
bar ui.js
1378行的
init()调用之后添加此简单代码即可

    soundObject = makeSound(playlistController.getURL());
    soundObject.togglePause();

init()
设置播放器后,您只需将播放列表上的第一个声音排队(使用
makeSound(playlicontroller.getURL()
),然后播放(使用
togglePause()
)。

了解Jon的解决方案: 将他提到的两行添加到bar-ui.js中,并插入到soundManager.setup中

onready: function() {
makeSound(playlistController.getURL());
togglePause();
}

希望这有帮助。

上述解决方案对我不起作用。 它会改变按钮状态,但文件不会播放。我在chrome控制台中看到这个带下划线的错误

sound0: play(): Loading - attempting to play...
bar-ui.js:125 Uncaught TypeError: Cannot read property 'on' of undefined
这里显示了autoPlay是正确的

Object {url: "http://freshly-ground.com/data/audio/sm2/SonReal%20-%20LA%20%28Prod%20Chin%20Injetti%29.mp3", volume: 100, autoLoad: false, autoPlay: true, from: null…}

当我尝试Jon Black的解决方案时,我遇到了Oj Obasi的相同错误,因此我没有在init()调用之后立即添加这两行,而是在导出声明之后添加它们,效果很好。 以下是我所做的编辑:

init();//init调用
出口={
//每个实例事件:window.sm2BarPlayers[0]。on={…}等。请参阅上面示例中的全局播放器。on以获取参考。
on:null,
行动:行动,
多姆:多姆,
播放控制器:播放控制器
};
soundObject=makeSound(playlicontroller.getURL());//这两行使它从一开始就自动播放播放列表
soundObject.togglePause();//这两行使它从一开始就自动播放播放列表

return exports;
要使用SM2播放器自动播放单个文件(不是播放列表),请在页面加载时包含以下内容:

sm2BarPlayers[0].actions.play();

尝试将“autoPlay:true”添加到bar ui.js的第794行。@PatrickGunderson-抱歉,但整个代码都有问题……我似乎无法让autoPlay:true正常运行。我已尝试设置函数在文档中提供,并在许多地方添加autoPlay:true,但都没有效果。@jmiraglia尝试在bar-ui.js的第794行添加“autoPlay:true”,但仍然没有成功……不过,感谢您的建议。我非常感谢guysI提供的帮助,我无法投票(显然,这对该网站来说太新了,但它工作得很好,并被标记为正确的解决方案!非常感谢您的时间和专业知识Jon Black&所有分享答案的人。您好John V,我不确定您要在哪里添加您提供的代码,但我只做了Jon Black建议的事情,它工作得完美无缺。这将是nice如果你在文章中包含了一部分代码,使其独立于其他答案,那么就完成了。希望这有帮助。那么解决方案是什么??