javascript – 想了解SounManager播放器ID

我正在使用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);
}
});

但问题是我可以获得声音,直到我玩,否则我无法得到身份证.

页面加载时有没有办法获取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,没有必要使用这样的东西.

也许有了这些信息,您可以更好地组织您网站上的玩家.

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...