0
我想將一個bytearray解碼爲audiobuffer並使用JS在瀏覽器中播放我的wav文件。 這裏我使用的代碼,但點擊播放按鈕時,我得到一個異常,即「無法解碼音頻數據」。如何將ByteArray轉換爲AudioBuffer並使用Javascript播放
{
if (!window.AudioContext){
if (!window.webkitAudioContext){
alert("Your browser does not support any AudioContext and cannot play back this audio.");
return;
}
}
var context = new AudioContext();
var arr = me.queueStore.getAt(0).data.ByteAudio;
var arrayBuffer = new ArrayBuffer(arr.length);
var bufferView = new Uint8Array(arrayBuffer);
for (i = 0; i < arr.length; i++) {
bufferView[i] = arr[i];
}
context.decodeAudioData(bufferView, function (buffer) {
var source = context.createBufferSource(); // creates a sound source
source.buffer = buffer; // tell the source which sound to play
source.connect(context.destination);
source.start(0);
});
}
得到了答案,在這裏這種情況的解決方案:使用64位字符串玩媒體文件,而不是轉換爲音頻緩衝區:me.fileString =「data:audio/wav; base64,」+ data.Tone; var audio = new Audio(fileString); audio.play(); –