【问题标题】:Convert AudioBuffer to ArrayBuffer将 AudioBuffer 转换为 ArrayBuffer
【发布时间】:2017-01-05 04:40:02
【问题描述】:

我一直在互联网上寻找这个问题的答案,但找不到任何资源。有谁知道如何使用 JavaScript 将 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

【问题讨论】:

    标签: javascript websocket audiobuffer


    【解决方案1】:
    AudioBuffer.getChannelData(channel_number);
    

    您可以从AudioBuffer.numberOfChannels获取频道数

    编辑:
    有关更多详细信息,您可以查看 AudioBuffergetChannelData 方法的 MDN 文档。

    【讨论】:

      猜你喜欢
      • 2018-11-03
      • 2020-09-22
      • 2017-02-28
      • 2011-11-25
      • 1970-01-01
      • 1970-01-01
      • 2017-09-28
      • 2017-09-16
      • 2021-06-03
      相关资源
      最近更新 更多