使用AudioContext和WebSocket实现实时对讲


实现一个简单的实时对讲功能,将一台电脑的语音实时传输到另一台电脑并播放。

Socket转发

websocket可以直接转发音频流,无需做更多处理

var WebSocketServer = require('ws').Server
var WebSocket = require('ws')

const wss = new WebSocketServer({ port: 1041 });//服务端口8181
wss.on('connection', function (ws) {
    console.log('客户端已连接');
    ws.on('message', (data, isBinary) => {
        // 收到消息以后,转发给所有连接的客户端
        wss.clients.forEach(function each(client) {
             if (client !== ws && client.readyState === WebSocket.OPEN) {
                 client.send(data, { binary: isBinary });
             }
        });
    });
});

通过麦克风获取声音并传输





    
    
    
    Document



    
    
    


获取socket传输过来的音频流并播放





    
    
    
    Document