3

私は、SoundManager2 を使用している Web アプリケーションに取り組んでいます。壁に頭をぶつけて音楽をストリーミングできなかった後、新しい SoundManager サウンドを作成するときに、ついに URL の一部を切り替えました。

これは私が以前使用していたもので、接続はできてもストリームが再生されませんでした。

soundManager.createSound({
    id: 'songId_1',
    serverURL: 'rtmp://s3s5uvbmfjq6k1.cloudfront.net:1935/cfx/st', 
    url: 'hihi.m4a',
    onconnect: function(connected){
        alert(connected);
    }
});

しかし、これに変更すると、突然ストリーミングできるようになりました。

soundManager.createSound({
     id:'test3',
     serverURL:'rtmp://s3s5uvbmfjq6k1.cloudfront.net:1935/cfx/st',
     url:'mp4:hihi.m4a'
});

最初のものは機能せず、2 番目のものは機能する理由がわかりません。serverURL がハードコードされていることに問題はありませんが、URL は動的で、任意の数のオーディオ形式にすることができるため、API がない限り、それをストリーミングする有効な値に変換する必要はありません。そうすることです(Cloudfrontにはありませんでした)。変換する方法はありますか

song location/song name.ext

ストリーミング用の正しい URL に入れますか、それとも別のプレーヤーを使用する必要がありますか?

4

1 に答える 1

5

少し前にこの問題が発生し、フォーマットごとに URL がハードコーディングされてしまいました。別のフラッシュ プレーヤーである Flowplayer を使用し、CloudFront と EdgeCast の両方の 2 つのストリーミング プロバイダーを扱っていますが、特定のビデオ タイプでサポートされる形式にわずかな違いがあることがわかります。

RTMP ストリーミング プロトコルの URL パスが互いに異なるのはなぜですか?という質問を参照できます。前に聞いた。

これはむしろストリーミングプロバイダーに依存しており、この段階では標準がないため、変換するツールは見つかりませんでした。

mp4、flv、mp3 を扱う場合、構築される URL は次のとおりです: (プレフィックスと拡張子の両方に注意してください)

mp4:test.mp4
flv:test
mp3:test
于 2012-06-06T00:20:21.727 に答える