我正在使用soundmanager的bar-ui js.
http://www.schillmania.com/projects/soundmanager2/demo/bar-ui/
我有很多玩家所以我不知道在页面加载播放器加载时我想要的是什么.
http://support.simplepodcaster.com/auto-timestamps/
看我在我的页面上有三个玩家我想要….
我试过了
var mySoundObject = soundManager.createSound({
id: 'mySound',url: '/audio/mysoundfile.mp3',// optional sound parameters here,see Sound Properties for full list
volume: 50,autoPlay: true,whileloading: function() {
jQuery(".playercontent").data('sound-id',this.id);
}
});
但问题是我可以获得声音,直到我玩,否则我无法得到身份证.
最佳答案
当您使用createSound()时,它可以生成一个id,或者为其分配一个(就像您现在一样).
在您粘贴的示例中,您提供了一个id,因此您将从soundmanager覆盖它的创建.那就是你的声音会有id =’mySound’.在docs之后你可以看到我在这里写的东西.
相反,如果您创建声音(或您的情况下的播放器),您可以为每个声音设置一个id,例如,通过创建一个带有该播放器的mp3曲目的名称或url的哈希值(所以,你可以找到你的声音稍后你可以生成一个id)
像这样的东西:
var url='/audio/mysoundfile.mp3';
var id=md5(url); // hash it here
var mySoundObject = soundManager.createSound({
id: id,url: url,see Sound Properties for full list
volume: 50,autoPlay: true
//whileloading: function() {
//jQuery(".playercontent").data('sound-id',this.id);
//}
});
jQuery(".playercontent").data('sound-id',id);
或者只是获取如下id:
var mySoundObject = soundManager.createSound({
url: '/audio/mysoundfile.mp3',// whileloading: function() {
// jQuery(".playercontent").data('sound-id',this.id);
// }
});
console.log(mySoundObject.id);
jQuery(".playercontent").data('sound-id',mySoundObject.id);
对于这两种情况,您可以使用以下方法来获取您在站点directly中创建的任何声音/播放器:
var track='/audio/mysoundfile.mp3';
var id= md5(track);
var mySoundObject = soundManager.getSoundById(id);
从另一方面来说,你可以使用像setVolume()那样的回调或强制加载mp3文件(SMSound对象中的任何方法都有this.id字段在上下文中可用).
但是,为了获得你的声音/播放器的id,没有必要使用这样的东西.
也许有了这些信息,您可以更好地组织您网站上的玩家.