2013-08-17 69 views
4

我一直在尋找遍佈互聯網的對這個問題的答案,我找不到任何資源。有誰知道如何使用JavaScript將AudioBuffer對象轉換爲ArrayBuffer?這是我目前的嘗試將AudioBuffer轉換爲ArrayBuffer

//Send audio data to websockets server 
function callback(stream) { 

var ws = new WebSocket("ws://localhost:8080"); 
ws.binaryType = 'arraybuffer'; 

var context = new webkitAudioContext(); 
var mediaStreamSource = context.createMediaStreamSource(stream); 
console.log(mediaStreamSource); 

var request = new XMLHttpRequest(); 
request.open('GET', 'http://s3.amazonaws.com/fldrMusic/01_-%20Fire%20Walker.mp3', true);  
request.responseType = 'arraybuffer'; 

console.log("Current 'request.response' value"); 
console.log(request.response); 

request.onload = function() { 
    context.decodeAudioData(request.response, function(buffer){ 

    console.log("sent message"); 
    console.log(buffer); 
    ws.send(buffer); 

    //Serialize javascript object 
    console.log("sent message encoded");  
    var buff = Base64Binary.decodeArrayBuffer(buffer.toString());  
    console.log(buff); 


    }, 
    function(buffer){ 
    alert("decode failed!"); 
    }) 
} 

request.send(); 
}//end 'callback' function 

回答

1
AudioBuffer.getChannelData(channel_number); 

您可以從AudioBuffer.numberOfChannels

編輯獲得的信道數:
欲瞭解更多詳情,您可以檢查MDN文檔爲AudioBuffergetChannelData方法。

相關問題