4

我正在使用 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。

4

1 回答 1

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 获取它们)。

于 2015-07-08T01:37:49.543 回答