私はしばらくの間取り組んできた問題を抱えていますが、実際には前進していません。現在、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();