JavaScript'teki bir sunucudan ses dosyası almak ve oynatmak istiyorum. Ama kodumdaki ajax çağrısı asla geri arama gibi görünmüyor ve sesin JavaScript’te doğru bir şekilde ele alıp almadığından emin değilim.JavaScript ajax çağrısında PHP passthru'dan ikili veriyi nasıl alabilirim?
şu PHP dosyası sunucu üzerinde ses dosyası döndürür: komut ajax ve döndürülen ses verilerini kullanarak JavaScript çağrılır
<?php
header('Access-Control-Allow-Origin: *');
$name = './audiofiles/audio.wav';
$fp = fopen($name, 'rb');
header("Content-Type: binary");
header("Content-Length: " . filesize($name));
fpassthru($fp);
exit;
?>
tarayıcıda tekrarlattırılır
(en azından ne olacağını şu):function playSample(e,q) {
console.log("requesting audio from server")
$.ajax({
url: "https://audioserver.com/getaudio.php",
type: "GET",
dataType: "arraybuffer",
processData: false,
success: function(result){
console.log("received audio, starting to play now")
var buffers = result;
var newSource = audioContext.createBufferSource();
var newBuffer = audioContext.createBuffer(2, buffers[0].length, 16000);
newBuffer.getChannelData(0).set(buffers[0]);
newSource.buffer = newBuffer;
newSource.connect(audioContext.destination);
newSource.start(0);
}
});
}
Burada yanlış yapıyorum?
Kodumu önerilerinize uyarladım, Sesin kodunun çözülemeyeceğine dair bir hata alıyorum. Bunun nasıl çözüleceğine dair bir fikrin var mı? @Musa – user2212461
@ user2212461 üzerindeki düzenlemelerime bakın lütfen bir soruyu tamamen değiştirmeyin. İki şeyden birini yapabilirsin. 1. Yeni bir soru sorun veya 2. Yaptığınız değişiklikle sorunun alt kısmına bir Düzenleme bölümü ekleyin. – Musa
benim takip sorumu buraya ekledi: http://stackoverflow.com/questions/36093768/how-can-i-get-audio-file-from-xmlhttprequest-that-can-be-decoded-by-decodeaudiod @Musa – user2212461