4

RTMP経由でmp3オーディオをストリーミングするためにSoundManager2を使用しています。問題は、期間が生成されておらず、常に 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 に答える