SoundManager2 - 使用RTMP不显示持续时间

时间:2013-10-29 11:48:50

标签: javascript rtmp soundmanager2

我正在使用SoundManager2通过RTMP传输mp3音频。问题是持续时间没有生成,始终为0

var sound = soundManager.createSound({
            id: 'soundid',
            serverURL: 'rtmp://server/',
            url: 'file.mp3',
            autoLoad: true,
            autoPlay: false,
            onload: function() {
                console.log("DURATION: ", this.duration);
            },
            whileplaying: function() {
                console.log(this.duration);
            },
            volume: 100
        }).play();

使用RTMP获取持续时间吗?我也试过了durationEstimate,这也显示了0。

1 个答案:

答案 0 :(得分:0)

默认情况下,使用RTMP的Soundmanager2不会计算持续时间,相反,您应该提供它(以微秒为单位)作为参数,否则,您将无法搜索(SetPosition(value)):

var sound = soundManager.createSound({
            id: 'soundid',
            serverURL: 'rtmp://server/',
            url: 'file.mp3',
            duration: 300000,//example for a 5 minutes song
            autoLoad: true,
            autoPlay: false,
            onload: function() {
                console.log("DURATION: ", this.duration);
            },
            whileplaying: function() {
                console.log(this.duration);
            },
            volume: 100
        }).play();

如果您没有mp3音乐的持续时间,请尝试使用mp3的ID3元数据获取它(您可以使用javascript获取它们)。