ホームページ >ウェブフロントエンド >フロントエンドQ&A >ノードにボイスチャットを実装する方法

ノードにボイスチャットを実装する方法

藏色散人
藏色散人オリジナル
2023-01-28 16:17:022588ブラウズ

ボイスチャットを実装するための Node メソッド: 1. Nodejs モジュール Express を使用して Web サーバーを作成します; 2. https 接続を作成します; 3. 「socket.io」を介したクライアントとサーバー間のリアルタイム通信」。

ノードにボイスチャットを実装する方法

このチュートリアルの動作環境: Windows 10 システム、ノード-v16 .バージョン 18.0、DELL G3 コンピューター

ノードでボイスチャットを実装するにはどうすればよいですか?

nodejs に基づく音声チャット

ノードにボイスチャットを実装する方法

説明

プログラム

iamshaunjp のグループチャット機能は、webRTC 技術を利用し、音声グループチャット機能を追加しており、他の人がキーボードを入力しているときに、相手が入力中であることを示す WeChat のようなメッセージが表示されます。

    デモ:
  • https://www.php.cn/link/b2fc614266ad3627dca4dc5d37885d58
  • ソースコード:
  • https://www.php. cn/link/12a8193db4825679dc9baf49305efe92

使用したnodejsモジュール

  • express: Webサーバーを作成します
  • https: https 接続を作成します (LAN または外部ネットワークの webRTC には https 接続が必要です。詳細については、tutoril を参照してください)
  • socket.io :クライアントとサーバー間のリアルタイム通信

jsファイル

    ##chat.js
  • :ボタンイベントの登録、送信テキストデータなど
  • record.js
  • : 音声メッセージの録音・再生・送信などを実現

構造図とプロセス 図

ノードにボイスチャットを実装する方法

ノードにボイスチャットを実装する方法

テキストコミュニケーション

を参照詳細は public/js /chat.jsコメント##データの送信

##サーバーに接続するためのページに入ってくださいsocket

  • クライアントはテキスト データを入力します。顧客は
  • sent
  • ボタンをクリックし、
  • click
  • イベントをトリガーし、 chat サーバー用に準備するイベントemitsoketサーバーに送信されたチャット イベントとクライアントによって生成されたデータを接続します
  • データの受信

socketサーバーから送信されたデータとサーバーから送信されたチャット イベントを受信します

    抽出
  • index.htmlのデータtext
  • jsにテキストデータを追加し、受信完了して表示
  • 音声通信

詳細については、public/js/record を参照してください。jsComment

音声データの送受信は、テキスト データの通信と似ています。 #webRTC を使用して、ユーザーのビデオまたはオーディオ変換を取得します。データは

blob
    形式でサーバーに送信されます。
  • メッセージを受信するとき、データ型は
  • blob 形式です。blob データは、html5 オーディオ タグを使用して解析され、再生されます
  • サーバーはデータを転送しますクライアントはサーバーにデータを送信し、サーバーは
  • chat
イベントをトリガーして、クライアントから送信されたデータを各クライアントに送信します。ブロードキャスト形式、グループチャット機能を完備。

https 証明書の作成

ローカルホストで webRTC を使用する場合は https を使用する必要はありませんが、ローカル エリア ネットワークまたは外部ネットワークで webRTC を使用する場合は、webRTC を強制する必要があります。ここでは、証明書を自分で生成します。テスト用に、具体的な生成方法と https 方法を設定します。ブログを参照してください。

:

独自の署名付き証明書を生成します (次の期間に有効です)。 365 日)

 openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
https 接続エクスプレスを使用します。例は次のとおりです:
      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.js ビデオ チュートリアル
  • 」を学習することをお勧めします。

    以上がノードにボイスチャットを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。