我是nodejs的新手。 我正在研究语音聊天应用程序,在应用程序客户端可以说话,他的声音将被广播(使用nodejs服务器)给其他客户端,我用socketio将声音从麦克风发送到服务器,但我不知道接收器声音如何在客户端,任何人都可以帮助我吗?
发送语音的客户端代码(我不知道这种从麦克风发送语音的真实方式):
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
navigator.getUserMedia( {audio:true}, gotStream , onError );
function gotStream(stream)
{
var context;
if (window.AudioContext) {
context = new AudioContext();
} else {
context = new webkitAudioContext();
}
var mediastream = context.createMediaStreamSource(stream);
var bufferSize = 2048;
var myscriptnode = context.createScriptProcessor(bufferSize, 1, 1);
myscriptnode.onaudioprocess = function (event) {
var recordedData = event.inputBuffer.getChannelData(0);
socket.emit('broadcast', recordedData);
};
mediastream.connect(myscriptnode);
myscriptnode.connect(context.destination);
}
function onError()
{
}
来自客户端的接收者的服务器代码:
socket.on('broadcast', function(data){
socket.emit('broadcast', data);
});
收听声音的客户代码:
socket.on('broadcast', function(data){
// I do not know what I must do here
});