Czy istnieje sposób na odtwarzanie muzyki z bajtów zamiast z pliku HTML 5?Odtwarzanie muzyki z bytearray w html5
Potrzebuję strumieniować bajty muzyczne i odtwarzać je na żywo.
Czy istnieje sposób na odtwarzanie muzyki z bajtów zamiast z pliku HTML 5?Odtwarzanie muzyki z bytearray w html5
Potrzebuję strumieniować bajty muzyczne i odtwarzać je na żywo.
proszę sprawdzić
var dogBarkingBuffer = null;
// Fix up prefixing
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var context = new AudioContext();
function loadDogSound(url) {
var request = new XMLHttpRequest();
request.open('GET', url, true);
request.responseType = 'arraybuffer';
// Decode asynchronously
request.onload = function() {
context.decodeAudioData(request.response, function(buffer) {
dogBarkingBuffer = buffer;
}, onError);
}
request.send();
}
audio danych plik jest binarny (nie tekst), więc możemy ustawić responseType na żądanie „arraybuffer”. Aby uzyskać więcej informacji o ArrayBuffers, zobacz ten artykuł o XHR2.
Po odebraniu (nieodkodowanych) danych pliku audio można go zachować w celu późniejszego odkodowania lub od razu można go dekodować, korzystając z metody AudioContext decodeAudioData(). Ta metoda pobiera ArrayBuffer danych pliku audio przechowywanych w request.response i dekoduje je asynchronicznie (nie blokując głównego wątku wykonywania JavaScript).
Po zakończeniu dekodowania AudioData() wywołuje funkcję wywołania zwrotnego, która dostarcza dekodowane dane audio PCM jako AudioBuffer.
i tutaj odniesienie ==>HML5 audio
UPDATE: do niech to działa na Firefox i wykorzystania Chrome:
context= typeof AudioContext !== 'undefined' ? new AudioContext() : new webkitAudioContext();
zamiast:
var context = new AudioContext();
HTML5 audio może odtwarzanie strumienia, działa dobrze z serwerem icecast – r043v