node實現語音聊天的方法:1、使用nodejs模組express建立一個web伺服器;2、建立https連線;3、通過「socket.io」實現使用者端與伺服器端實時通訊即可。
本教學操作環境:Windows10系統、node-v16.18.0版、DELL G3電腦
node怎麼實現語音聊天?
基於nodejs的語音聊天
程式在 的群聊功能基礎上利用webRTC技術,新增了語音群聊功能,在其他人鍵盤輸入時,會出現類似微信的對方正在輸入字樣。
使用的nodejs模組
express
:建立一個web伺服器https
:建立https連線(區域網或者外網webRTC需要https連線,具體見)socket.io
:使用者端與伺服器端實時通訊js檔案
chat.js
:實現按鈕事件的註冊、文字資料的傳送等record.js
:實現語音訊息的錄取、播放、傳送等詳情見public/js/chat.js
註釋
傳送資料
socket
連線sent
按鈕,觸發click
事件,併產生chat
事件準備想伺服器emit
soket
連線傳送給伺服器chat事件和使用者端產生的資料接收資料
socket
接受到伺服器傳送來的data和伺服器傳送來的chat事件index.html
新增文字資料,完成接收資料並顯示詳情見public/js/record.js
註釋
webRTC
獲取到使用者的視訊或者音訊轉換為blob
格式資料,並行送給伺服器資料。blob
格式,對blob
資料解析,利用html5的audio標籤進行播放使用者端傳送給伺服器資料,伺服器觸發chat
事件,將使用者端傳送來的資料以廣播的形式傳送到每一個使用者端,完成群聊的功能。
在localhost中使用webRTC不需要使用https,但是在區域網或者外網使用webRTC,必須強制使用webRTC,這裡採用自己生成證書供測試使用,具體生成方法和設定https方法:
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
登入後複製
var fs = require('fs'),
https = require('https'),
express = require('express'),
app = express();
https.createServer({
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem')
}, app).listen(55555);
app.get('/', function (req, res) {
res.header('Content-type', 'text/html');
return res.end('<h1>Hello, Secure World!</h1>');
});
登入後複製
推薦學習:《》 以上就是node怎麼實現語音聊天的詳細內容,更多請關注TW511.COM其它相關文章!