如何在soundmanager中返回歌曲持续时间

时间:2011-08-24 20:44:29

标签: javascript soundmanager2

如何在声音管理器中返回歌曲持续时间?

function item_duration(){
    var song_item = soundManager.createSound({
        id:'etc',
        url:'etc',
        onload: function() {
                    if(this.readyState == 'loaded' ||
                    this.readyState == 'complete' ||
                    this.readyState == 3){
                    return = this.duration;         
                    }
       }
   });

   song_item.load();

}

这是我的尝试,但它不起作用

1 个答案:

答案 0 :(得分:1)

return是关键字,而不是变量。 return this.duration;是你想要的;跳过=(这只会给你一个语法错误)

...但这没有多大帮助,因为 你要将它归还给谁?你需要调用另一个函数,它会持续一段时间。 item_duration函数在调用createSound后立即返回,然后异步加载文件

尝试这样的事情

function doSomethingWithTheSoundDuration(duration) {
    alert(duration); // using alert() as an example…
}

soundManager.createSound({
    id:  …,
    url: …,
    onload: function() {
        // no need to compare with anything but the number 3
        // since readyState is a number - not a string - and
        // 3 is the value for "load complete"
        if( this.readyState === 3 ) { 
            doSomethingWithTheSoundDuration(this.duration);
        }
    }
});