我有一个桌面应用程序,通过websocket连接向浏览器流传输原始PCM数据。该流的格式如下:
问题很简单:我能否使用Web Audio API / WebRTC / ...在HTML中播放这样的流?
欢迎任何建议! 代码编辑 这段代码播放随机生成的噪声:
...\\x00\\x00\\x02\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\xff\\xff\\xff\\xff\\...
。问题很简单:我能否使用Web Audio API / WebRTC / ...在HTML中播放这样的流?
欢迎任何建议! 代码编辑 这段代码播放随机生成的噪声:
function myPCMSource() {
return Math.random() * 2 - 3;
}
var audioContext;
try {
window.AudioContext = window.AudioContext || window.webkitAudioContext;
audioContext = new AudioContext();
} catch(e) {
alert('Web Audio API is not supported in this browser');
}
var bufferSize = 4096;
var myPCMProcessingNode = audioContext.createScriptProcessor(bufferSize, 1, 1);
myPCMProcessingNode.onaudioprocess = function(e) {
var output = e.outputBuffer.getChannelData(0);
for (var i = 0; i < bufferSize; i++) {
output[i] = myPCMSource();
}
}
所以将myPCMSource()
更改为websocket流输入应该能使其正常工作。但是它没有。我没有收到任何错误信息,但API也没有播放任何声音或噪音。