4

HTML5オーディオAPIを使用してサウンドを再生しています。これは通常の mp3 ファイルでは正常に機能しますが、 などのサウンド ストリームを使用するhttp://95.173.167.24:8009と再生に失敗します。

ここに私が使用しているコードがあります:

 if('webkitAudioContext' in window) {
    var myAudioContext = new webkitAudioContext();
    }

    request = new XMLHttpRequest();
    request.open('GET', 'http://95.173.167.24:8009', true);
    request.responseType = 'arraybuffer';
    request.addEventListener('load', bufferSound, false);
    request.send();


    function bufferSound(event) {
      var request = event.target;
      var source = myAudioContext.createBufferSource();
      source.buffer = myAudioContext.createBuffer(request.response, false);
      source.connect(myAudioContext.destination);
      source.noteOn(0);
    }

誰かがこれについて正しい方向に私を向けることができますか?

どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

4

問題は、SHOUTcast が User-Agent 文字列をブラウザーとして検出している可能性があります。その中の任意の文字列を探し、Mozilla「ああ、それはブラウザだ!管理パネルを送ってください」と言います。

オーディオ ストリームの使用を強制する必要があります。幸いなことに、これは URL の末尾にセミコロンを追加することで簡単に実行できます。

http://95.173.167.24:8009/;

ログの User-Agent 文字列はMPEG OVERRIDE.

これは、ほとんどのブラウザーで機能します。一部のブラウザーは、SHOUTcast からの HTTP のような応答をまだ好まない場合がありますが、少なくともこれで始めることができます。

于 2012-10-01T13:34:06.800 に答える