このドキュメントは2つのパートから成り、ブラウザで実行できる一連の音声通話ソリューションを実装する方法について説明します。
最新バージョンのChromeブラウザをご使用ください。現在、デスクトップのChromeブラウザはTRTC Web SDKをサポートしており、関連機能は比較的整っていますので、Chromeブラウザを使用して体験することをお勧めします。
現在、このソリューションは、次のプラットフォームをサポートしています。
OS | ブラウザタイプ | ブラウザの最小バージョン要件 |
---|---|---|
Mac OS | デスクトップ版Safariブラウザ | 11+ |
Mac OS | デスクトップ版Chromeブラウザ | 56+ |
Mac OS | デスクトップ版Firefoxブラウザ | 56+ |
Mac OS | デスクトップ版Edgeブラウザ | 80+ |
Windows | デスクトップ版Chromeブラウザ | 56+ |
Windows | デスクトップ版QQブラウザ(超高速コア) | 10.4+ |
Windows | デスクトップ版Firefoxブラウザ | 56+ |
Windows | デスクトップ版Edgeブラウザ | 80+ |
説明:互換性照会の詳細については、ブラウザサポート状況をご参照ください。また、TRTC検査ページでオンライン検査することも可能です。
ユースケース | プロトコル | 受信(再生) | 送信(マイク・オン) | 画面共有 | 備考 |
---|---|---|---|---|---|
本番環境 | HTTPSプロトコル | サポートあり | サポートあり | サポートあり | 推奨 |
本番環境 | HTTPプロトコル | サポートあり | サポートなし | サポートなし | - |
ローカル開発環境 | http://localhost | サポートあり | サポートあり | サポートあり | 推奨 |
ローカル開発環境 | http://127.0.0.1 | サポートあり | サポートあり | サポートあり | - |
ローカル開発環境 | http://[ローカルマシンIP] | サポートあり | サポートなし | サポートなし | - |
ローカル開発環境 | file:/// | サポートあり | サポートあり | サポートあり | - |
1.Tencent Cloudアカウントを登録します。
2. TRTCコンソールにログインし、開発支援 > Demoクイックスタートを選択します。
3. アプリケーション名(例:TestTRTC
)を入力し、作成をクリックします。
Web/public/debug/GenerateTestUserSig.js
ファイルを見つけて開きます。GenerateTestUserSig.js
のファイルの関連するパラメータを設定します。注意:
- ここで言及したUserSigの作成ソリューションでは、クライアントコードでSECRETKEYを設定します。この手法のうちSECRETKEYは逆コンパイルによって逆向きにクラッキングされやすく、キーがいったん漏洩すると、攻撃者はTencent Cloudトラフィックを盗用できるようになります。そのためこの手法は、ローカルのDemoクイックスタートおよび機能デバッグにのみ適合します。
- UserSigの正しい発行方法は、UserSigの計算コードをサーバーに統合し、Appのインターフェース向けに提供します。UserSigが必要なときは、Appからサービスサーバーにリクエストを発出し動的にUserSigを取得します。詳細はサーバーでのUserSig作成をご参照ください。
Demoディレクトリに次のコマンドを順番に入力します。
npm install
npm run serve
Chromeブラウザを起動し、リンクhttp://localhost:8080/
を開きます。すべてが正常であれば、Demo実行インターフェースは次の図のようになります。
useridを入力し、ログインをクリックして、音声通話を選択します。
呼び出し先のuseridを入力し、呼出をクリックします。
音声通話を開始できます。
説明:
- 0.6.0以降は、trtc-js-sdk、tim-js-sdkおよびtsignalingの依存関係を手動でインストールする必要があります。
- trtc-calling-js.jsのボリュームを縮小し、アクセス側で使用されているtrtc-js-sdk、tim-js-sdkおよびtsignalingのバージョン競合を回避するために、trtc-calling-js.jsは、外部依存関係としてtrtc-js-sdk、tim-js-sdk、tsignalingをパッケージ化しているので、使用する前に依存関係を手動でインストールする必要があります。
// npm方式によるインストール
npm install trtc-js-sdk --save
npm install tim-js-sdk --save
npm install tsignaling --save
npm install trtc-calling-js --save
//スクリプト方式によってtrtc-calling-jsを使用する必要がある場合は、順序どおりに次のリソースをインポートする必要があります。
<script src="./trtc.js"></script>
<script src="./tim-js.js"></script>
<script src="./tsignaling.js"></script>
<script src="./trtc-calling-js.js"></script>
TRTCCallingオブジェクトを作成し、SDKAppIDパラメータをお客様のSDKAppIDに設定します。
import TRTCCalling from 'trtc-calling-js';
let options = {
SDKAppID: 0, // アクセスするときは、0をお客様のSDKAppIDに置き換える必要があります。
// v0.10.2から、timパラメータを追加します
// TIMインスタンスの一意性を保証するために、timパラメータはサービス内にすでに存在するTIMインスタンスに使用されます。
tim: tim
};
const trtcCalling = new TRTCCalling(options);
trtcCalling.login({
userID,
userSig,
});
発呼者:特定ユーザーを呼び出す
trtcCalling.call({
userID, //ユーザーID
type: 1, //通話タイプ、0-不明、1-音声通話、2-ビデオ通話
timeout //招待タイムアウト時間、単位s(秒)
});
着呼者:新しい呼び出しに応答
// 応答
trtcCalling.accept();
//拒否します
trtcCalling.reject()
通話終了
trtcCalling.hangup()
コンポーネントは現在、マルチインスタンスのログインやオフラインプッシュのシグナリング機能をサポートしていません。現在のログインアカウントの一意性をご確認ください。
説明:
- マルチインスタンス:1つのUserIDで繰り返しログインしたり、異なるターミナルからログインしたりすると、シグナリングの混乱が生じます。
- オフラインプッシュ:インスタンスはオンラインの場合にのみメッセージを受信できます。インスタンスがオフラインのときに受信したシグナリングは、オンラインになった後は再度プッシュされません。
その他よくあるご質問については、TRTCCalling Webに関するご質問をご参照ください。
詳細については、お問い合わせにご連絡をいただくか、colleenyu@tencent.comにメールでご連絡ください。
この記事はお役に立ちましたか?