2015-05-26 16 views
5

Mam problem, nad którym pracuję od jakiegoś czasu, bez rzeczywistych postępów. Obecnie próbuję załadować mój strumień Shoutcast do mojego interfejsu Web Audio API. Pomyślałem, że to naruszy CORS i miałem rację. Próbowałem zarówno poprzez żądanie XHR, a następnie ponownie poprzez ładowanie elementu audio do skryptu. To działało z elementem audio, ale umarło, gdy próbowałem załadować go do skryptu. Wydaje mi się, że jedyną opcją jest próba dodania nagłówków CORS do strumienia obsługiwanego przez mój Shoutcast.Shoutcast + Web Audio API Wydanie CORS

Nie mam pojęcia, jak to zrobić i nie miałem szczęścia znajdowania zasobów w Internecie. Jeśli ktoś może dać mi radę na ten temat, będzie to bardzo cenne!

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(); 
+0

Prawdopodobny duplikat: http://stackoverflow.com/questions/30603872/how-can-i-avoid-cors-restriction-for-web-audio-api –

Odpowiedz

2

Wystarczy odpowiedzieć na moje własne pytanie. Udało mi się sprawić, by działało to dobrze ze strumieniem shoutcastów, ustawiając odwrotne proxy w apache, które wskazywało na mój strumień i port.

Powiązane problemy