使用socketio进行音频聊天

时间:2015-12-21 15:22:32

标签: node.js websocket socket.io chat audio-streaming

我是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      
    });

0 个答案:

没有答案