7

私はしばらくの間取り組んできた問題を抱えていますが、実際には前進していません。現在、Shoutcast ストリームを Web Audio API コンテキストにロードしようとしています。CORSに違反すると思っていたのですが、その通りでした。私は、XHR リクエストを介して、そしてオーディオ要素をスクリプトにロードすることにより、両方を試みました。オーディオ要素で動作しましたが、スクリプトにロードしようとすると停止しました。私の唯一の選択肢は、私のShoutcastが提供しているストリームにCORSヘッダーを追加しようとすることです。

これを行う方法がわかりませんし、オンラインでリソースを見つけることができませんでした。誰かがこれについて私にアドバイスを与えることができれば、それは大歓迎です!

var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
var soundSource, concertHallBuffer;

ajaxRequest = new XMLHttpRequest();

ajaxRequest.open('GET', 'http://127.0.0.1:8000/;stream.mp3', true);

ajaxRequest.responseType = 'arraybuffer';


ajaxRequest.onload = function() {
  var audioData = ajaxRequest.response;
  console.log(audioData);

   audioCtx.decodeAudioData(audioData, function(buffer) {
    concertHallBuffer = buffer;
    soundSource = audioCtx.createBufferSource();
    soundSource.buffer = concertHallBuffer;

    soundSource.connect(audioCtx.destination);
    soundSource.loop = true;
    soundSource.start();
  }, function(e){"Error with decoding audio data" + e.err});
}

ajaxRequest.send();
4

1 に答える 1

4

自分の質問に答えるだけです。シャウトキャスト ストリームとポートを指すリバース プロキシを Apache に設定することで、シャウトキャスト ストリームでこれを正常に機能させることができました。

于 2015-06-08T23:52:32.600 に答える