このトピックでは、Windows 向け ApsaraVideo Real-time Communication (ARTC) SDK の API について説明します。
目次
基本 API
API | 説明 |
AliRtcEngine インスタンス (シングルトンパターン) を作成します。 | |
AliRtcEngine インスタンスを破棄します。 | |
機能 API のインスタンスを取得します。 | |
H5 互換モードを設定します。 | |
現在のモードが H5 互換であるかどうかを確認します。 | |
イベントリスナーのコールバックを設定します。 | |
現在の SDK バージョン番号を照会します。 |
チャンネル関連 API
API | 説明 |
チャンネルプロファイルを設定します。 | |
オーディオプロファイルを設定します。 | |
現在のモードが音声のみであるかどうかを照会します。 | |
モードを音声のみ、または音声と映像に設定します。 | |
チャンネルに参加します。 | |
チャンネルに参加します。 | |
チャンネルに参加します。 | |
チャンネルから退出します。 | |
ユーザーがチャンネル内にいるかどうかを確認します。 | |
ユーザーロールを設定します。 | |
ユーザーロールを取得します。 | |
認証情報を更新します。 | |
認証情報を更新します。 |
パブリッシュおよびサブスクライブ関連 API
API | 説明 |
ローカルのオーディオストリームをパブリッシュするかどうかを設定します。デフォルトでは、オーディオストリームはパブリッシュされます。 | |
ローカルのオーディオストリームがパブリッシュされているかどうかを照会します。 | |
デフォルトでリモートのオーディオストリームをサブスクライブするかどうかを設定します。デフォルトでは、すべてのリモートオーディオストリームがサブスクライブされます。 この API はチャンネルに参加する前に呼び出してください。 | |
特定のリモートユーザーのオーディオストリームのサブスクライブを停止または再開します。 | |
すべてのリモートオーディオストリームのサブスクライブを停止または再開します。 | |
ローカルのビデオストリームをパブリッシュするかどうかを設定します。 | |
ローカルのビデオストリームがパブリッシュされているかどうかを照会します。 | |
デフォルトでリモートのビデオストリームをサブスクライブするかどうかを設定します。デフォルトでは、すべてのリモートビデオストリームがサブスクライブされます。 この API はチャンネルに参加する前に呼び出してください。 | |
リモートユーザーのビデオストリームのサブスクライブを停止または再開します。 | |
すべてのリモートビデオストリームのサブスクライブを停止または再開します。 | |
特定のリモートユーザーのメディアストリームのサブスクライブを停止または再開します。 この API は、音声と映像の両方のストリームが存在し、制御する必要がある場合に使用します。 | |
特定のリモートユーザーのメディアストリームのサブスクライブを停止または再開します。 この API は、音声と映像の両方のストリームが存在し、制御する必要がある場合に使用します。 | |
チャンネル間で特定のリモートユーザーのメディアストリームのサブスクライブを停止または再開します。 | |
ローカルクライアントで指定されたリモートユーザーの再生音量を調整します。 |
オーディオデバイス管理 API
API | 説明 |
ローカル音声のパブリッシュを停止するかどうかを設定します。 | |
リモートのオーディオストリームの再生を停止するかどうかを設定します。 | |
すべてのリモートオーディオの再生を停止または再開します。 | |
音声キャプチャを有効にします。 | |
音声キャプチャを有効にします。 | |
音声キャプチャを無効にします。 | |
音量検出機能を有効にします。 | |
音声再生デバイスを有効にします。 | |
音声再生を無効にします。 | |
再生音量を設定します。 | |
録音音量を設定します。 | |
オーディオファイルを再生します。 | |
オーディオファイルの再生を停止します。 | |
通話前に音声キャプチャテストを開始します。 | |
音声キャプチャテストを停止します。 | |
システム音声のキャプチャとパブリッシュを有効または無効にします。 | |
システム音声のキャプチャとパブリッシュが有効になっているかどうかを照会します。 | |
システム音声のキャプチャとパブリッシュの音量を設定します。 | |
システム音声のキャプチャとパブリッシュの現在の音量を取得します。 | |
システム音声の再生音量を設定します。 | |
現在のシステム音声の再生音量を取得します。 | |
音声キャプチャデバイスのリストを取得します。 | |
現在の音声キャプチャデバイスの名前を取得します。 | |
現在の音声キャプチャデバイスの ID を取得します。 | |
指定した名前の音声キャプチャデバイスを現在のデバイスとして設定します。 | |
現在の音声キャプチャデバイスの ID を設定します。 | |
現在のオーディオ再生デバイスのリストを取得します。 | |
現在のシステムオーディオ再生デバイスのリストを取得します。 | |
現在のオーディオ再生デバイスの名前を取得します。 | |
現在のオーディオ再生デバイスの ID を取得します。 | |
指定した名前のデバイスを現在の再生デバイスとして設定します。 | |
指定した ID のデバイスを現在の再生デバイスとして設定します。 | |
音声キャプチャデバイスの音量を設定します。 | |
音声キャプチャデバイスの音量を取得します。 | |
オーディオ再生デバイスの音量を設定します。 | |
オーディオ再生デバイスの音量を取得します。 | |
音声キャプチャデバイスのミュート状態を設定します。 | |
音声キャプチャデバイスのミュート状態を取得します。 | |
オーディオ再生デバイスのミュート状態を設定します。 | |
オーディオ再生デバイスのミュート状態を取得します。 |
ボイスチェンジとリバーブ
API | 説明 |
ボイスチェンジエフェクトモードを設定します。 | |
ピッチシフトパラメーターを設定します。 | |
リバーブエフェクトモードを設定します。 | |
リバーブエフェクトタイプと特定のパラメーターを設定します。 | |
プリセットの美声エフェクトモードを設定します。 | |
オーディオイコライザー (EQ) パラメーターを設定して、指定された周波数帯のゲインを調整します。 |
カスタム音声入力
API | 説明 |
外部オーディオストリームを追加します。 | |
外部オーディオストリームデータを入力します。 | |
パブリッシュ音量を設定します。 | |
公開ボリュームを取得します。 | |
外部オーディオストリームの再生音量を設定します。 | |
外部オーディオストリームの再生音量を取得します。 | |
外部オーディオストリームを削除します。 |
伴奏
API | 説明 |
オーディオファイル情報を取得します。 | |
伴奏のためのオーディオミキシングを開始します。 | |
伴奏のためのオーディオミキシングを停止します。 | |
伴奏の音量を設定します。 | |
伴奏のパブリッシュ音量を設定します。 | |
伴奏のパブリッシュ音量を取得します。 | |
伴奏のローカル再生音量を設定します。 | |
伴奏のローカル再生音量を取得します。 | |
伴奏のためのオーディオミキシングを一時停止します。 | |
伴奏のためのオーディオミキシングを再開します。 | |
伴奏ファイルの長さをミリ秒単位で取得します。 | |
伴奏ファイルの再生進捗をミリ秒単位で取得します。 | |
伴奏ファイルの再生位置を設定します。 |
効果音ファイル
API | 説明 |
効果音ファイルをプリロードします。 | |
プリロードされた効果音ファイルを削除します。 | |
効果音の再生を開始します。 | |
効果音の再生を停止します。 | |
すべての効果音の再生を停止します。 | |
効果音を一時停止します。 | |
すべての効果音を一時停止します。 | |
指定した効果音ファイルを再開します。 | |
すべての効果音ファイルを再開します。 | |
効果音をパブリッシュするためのミキシング音量を設定します。 | |
効果音をパブリッシュするためのミキシング音量を取得します。 | |
すべての効果音をパブリッシュするためのミキシング音量を設定します。 | |
効果音のローカル再生音量を設定します。 | |
効果音のローカル再生音量を取得します。 | |
すべての効果音のローカル再生音量を設定します。 |
ビデオデバイス管理 API
API | 説明 |
ローカルプレビューのレンダリングウィンドウと描画パラメーターを設定します。 | |
カメラキャプチャのプリファレンスを設定します。 | |
ローカルビデオキャプチャを無効または再有効化します。 | |
ローカルのビデオストリームのパブリッシュを停止するかどうかを設定します。 | |
リモートビデオ用のレンダリングウィンドウと描画パラメーターを設定します。 | |
カメラがオンになっているか確認します。 | |
ビデオエンコーディングプロパティを設定します。 | |
ビデオデコーディングプロパティを設定します。 | |
ローカルプレビューを開始します。 | |
ローカルプレビューを停止します。 | |
プレビューとパブリッシュのミラーリング機能を設定します。 | |
キャプチャスケーリングのタイミングを設定します。ビデオデータがキャプチャ直後かエンコード中にスケーリングされるかを決定します。 | |
利用可能なカメラのリストを取得します。 | |
現在使用されているカメラの名前を取得します。 | |
現在使用されているカメラの ID を取得します。 | |
指定した名前のカメラを現在のカメラとして設定します。 | |
指定した ID のカメラを現在のカメラとして設定します。 | |
現在のカメラでサポートされている解像度のリストを取得します。 |
ビデオデータコールバックの設定
API | 説明 |
ビデオデータ出力オブジェクトを登録します。 | |
ビデオデータ出力オブジェクトの登録を解除します。 | |
ビデオスナップショット機能。 |
オーディオデータコールバックの設定
API | 説明 |
オーディオデータコールバックを登録します。 | |
オーディオデータ出力のサブスクリプションを解除します。 | |
オーディオコールバックパラメーターを設定します。 |
カスタム映像入力
API | 説明 |
外部ビデオ入力ソースを有効にします。 | |
ビデオデータを入力します。 |
画面共有 API
API | 説明 |
指定したデスクトップ ID に対応する画面ストリームの共有を開始します。 | |
画面の指定した領域のビデオストリームの共有を開始します。 | |
ID で指定されたウィンドウからのビデオストリームを共有およびパブリッシュします。 | |
画面共有を停止します。 | |
画面共有を再開します。 | |
画面共有を一時停止します。 | |
画面共有がパブリッシュされるように設定されているかどうかを照会します。 | |
画面共有の構成を更新します。 | |
共有ウィンドウ ID に対応するウィンドウが有効かどうかを確認します。 | |
現在の画面共有の構成情報を返します。 | |
指定されたソースに基づいてオブジェクトのリストを取得します。 | |
現在の画面共有ソースの ID を取得します。 | |
指定されたソースに基づいてオブジェクトのリストを取得します。 | |
指定されたソース ID とソースタイトルに基づいて画面共有領域を取得します。 | |
画面ストリームのビデオエンコーディングプロパティを設定します。 |
バイパスライブストリーミング API
API | 説明 |
バイパスライブストリーミングを開始します。 | |
バイパスライブストリーミングのパラメーターを更新します。 | |
バイパスライブストリーミングを停止します。 | |
バイパスライブストリーミングのステータスを取得します。 | |
通話前のネットワーク品質検知を開始します。 | |
通話前のネットワーク品質検知を停止します。 |
ネットワーク品質検出 API
API | 説明 |
通話前のネットワーク品質検知を開始します。 | |
通話前のネットワーク品質検知を停止します。 |
SEI
API | 説明 |
メディア拡張情報を送信します。内部的には SEI を使用して実装されています。 | |
メディア拡張情報 (拡張) を送信します。内部的には SEI を使用して実装されています。 |
その他の API
API | 説明 |
カスタムパラメーターを設定します。 | |
カスタムパラメーターを取得します。 | |
SDK ログファイルを保存するパスを設定します。 | |
ログレベルを設定します。 | |
タイムライン時間を取得します。 | |
データチャンネルメッセージを送信します。 |
コールバック
AliEngineEventListener
API | 説明 |
ネットワーク接続状態のコールバック。お客様はこのコールバックに注意を払う必要があります。 | |
ローカルデバイスの例外に関するコールバック。お客様はこのコールバックに注意を払う必要があります。 | |
ユーザー認証情報がまもなく期限切れになるという通知。この通知を受け取ってから 30 秒後に認証が期限切れになります。お客様はこのコールバックに注意を払う必要があります。 | |
ユーザーが認証を必要とする API を呼び出したときに、サーバーは情報が期限切れであることを返します。 | |
チャンネル参加結果のコールバック。 | |
チャンネル退出結果のコールバック。 | |
リモートユーザーがオフラインになったことの通知。 | |
リモートユーザーがオンラインになったことの通知。 | |
リモートストリームのパブリッシュ情報の通知。 | |
ユーザーがサーバーからキックされたか、チャンネルが終了したことを示すメッセージ。 | |
音声パブリッシュ状態変更の通知。 | |
音声サブスクリプション状態変更の通知。 | |
リモートユーザーがミュートされていることの通知。 | |
オーディオデバイスの中断が開始されたことの通知。 | |
オーディオデバイスの中断が終了したことの通知。 | |
ビデオパブリッシュ状態変更のコールバック。 | |
カメラストリームのサブスクリプション状態変更のコールバック。 | |
リモートユーザーがブラックフレームのビデオを送信していることの通知。 | |
リモートユーザーがカメラストリームのキャプチャを無効にしたことの通知。 | |
リモートユーザーのアプリケーションがバックグラウンドに移動しました。 | |
リモートユーザーのアプリケーションがフォアグラウンドに戻りました。 | |
ローカルの効果音再生終了時のコールバック。 | |
サブスクライブされたオーディオの音量、音声ステータス、および UID。 | |
発話検出。アクティブなユーザーが検出されたときのコールバック。 | |
バイパスストリームのパブリッシュ状態変更のコールバック。 | |
バイパスタスクの状態変更のコールバック。 | |
ネットワーク品質変更のコールバック。 | |
通話前のネットワーク品質調査のコールバック。このコールバックは調査開始後約 3 秒で提供されます。 | |
通話前のネットワーク品質調査の結果のコールバック。このコールバックは調査開始後約 30 秒で提供されます。 | |
エンジンでエラーが発生した場合、このコールバックがアプリケーションに通知します。 | |
最初の音声パケット送信のコールバック。 | |
最初の音声パケット受信のコールバック。 | |
最初のビデオパケット送信のコールバック。 | |
最初のビデオパケット受信のコールバック。 | |
最初のデコードされたリモート音声フレームのコールバック。 | |
このメッセージは、リモートユーザーの最初のビデオフレームが表示されたときにトリガーされます。 | |
このメッセージは、最初のビデオフレームがプレビューに表示されたときにトリガーされます。 | |
通話前の音声キャプチャテストの音量コールバック。 | |
ローカル伴奏再生状態のコールバック。 | |
音声ファイル情報のコールバック。 | |
リモートユーザーの伴奏が再生を開始したときのコールバック。 | |
リモートユーザーの伴奏が再生を終了したときのコールバック。 | |
リアルタイムデータコールバック (2 秒ごとにトリガー)。 | |
ローカルビデオ統計 (2 秒ごとにトリガー)。 | |
リモートビデオ統計 (2 秒ごとにトリガー)。 | |
ローカルオーディオ統計 (2 秒ごとにトリガー)。 | |
リモートオーディオ統計 (2 秒ごとにトリガー)。 | |
メディア拡張情報受信のコールバック。 | |
スナップショット結果のコールバック。 | |
ローカルオーディオデバイス状態のコールバック。 | |
ローカルビデオデバイス状態のコールバック。 | |
データチャンネルメッセージの送信を開始できることを示すコールバック。 | |
データチャンネルメッセージのコールバック。 |
IAudioFrameObserver
API | 説明 |
キャプチャされた生データのコールバック。 | |
3A 処理後のデータのコールバック。 | |
パブリッシュされたストリームデータのコールバック。 | |
再生データのコールバック。 | |
リモートストリームデータのコールバック。 |
IVideoFrameObserver
API | 説明 |
ローカルでキャプチャされたビデオデータのコールバック。 | |
エンコード前のローカルビデオデータのコールバック。 | |
リモートビデオデータのコールバック。 | |
ビデオ出力の幅の配置。 | |
ビデオデータ出力コンテンツ。 |
AliEngineDestroyCompletionCallback
API | 説明 |
破棄が完了したときのコールバック。 |
API の詳細
Create
AliRtcEngine インスタンスを作成します。
static AliEngine *Create(const char *extras);呼び出すタイミング
ARTC SDK の他の API を呼び出す前に、このメソッドを呼び出して AliRtcEngine インスタンスを作成します。
制限事項
SDK は、アプリケーションごとに 1 つの AliRtcEngine インスタンスのみをサポートします。
メトリックの説明
名前 | タイプ | 説明 |
extras | const char * | グレースケールリリース用のパラメーターを受け取ります。JSON 設定を使用して、特別な SDK 機能を設定します。このパラメーターは空の文字列にすることができます。 |
戻り値
AliEngine クラスのシングルトンオブジェクトを返します。
Destroy
AliRtcEngine インスタンスを破棄します。
static void Destroy(AliEngineDestroyCompletionCallback *callback = nullptr);このメソッドは AliRtcEngine シングルトンオブジェクトを破棄し、そのすべての内部リソースを解放します。このメソッドを呼び出した後は、他の AliRtcEngine メソッドやコールバックは使用できなくなります。再度使用するには、Create を呼び出して新しいインスタンスを作成する必要があります。
このメソッドは非同期呼び出しです。破棄操作の完了を追跡できるコールバックを提供します。<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#TUn2z" id="14c93d2e8bamj">onDestroyCompletion</a> コールバックを受信した後にのみ、新しいインスタンスを作成できます。これは、破棄操作が完了したことを示します。
呼び出すタイミング
リアルタイムコミュニケーションの使用が終了したら、このメソッドを呼び出してインスタンスを解放します。
制限事項
デッドロックを避けるため、SDK のコールバック内ではこのメソッドを呼び出さないでください。
パラメーター
パラメーター | タイプ | 説明 |
callback | AliEngineDestroyCompletionCallback | 破棄操作完了時のコールバック。 |
QueryInterface
機能インターフェイスのインスタンスを取得します。
virtual int QueryInterface(AliEngineInterfaceIdType iid, void** pInterface) = 0;このメソッドは、特定の機能インターフェイスのインスタンスを取得します。Windows プラットフォームでリアルタイムコミュニケーション用のアプリケーションを開発する場合、オーディオデバイス管理 (AliEngineInterfaceAudioDeviceManager)、ビデオデバイス管理 (AliEngineInterfaceVideoDeviceManager)、メディアエンジン (AliEngineInterfaceMediaEngine) など、多くの高度な機能が対応するインターフェイスクラスを通じて提供されます。関連するメソッドを呼び出す前に、QueryInterface メソッドを使用してこれらのインターフェイスのインスタンスを取得する必要があります。
インターフェイスインスタンスの使用が終了したら、対応するインターフェイスの `Release` メソッドを呼び出してリソースを解放し、メモリリークを防ぎます。
パラメーター
名前 | タイプ | 説明 |
iid | 機能インターフェイスのタイプ。SDK にどのタイプのインターフェイスインスタンスを取得するかを伝えます。
| |
pInterface | void** | 指定されたインターフェイスタイプのインスタンスを返します。例:
|
戻り値
0:呼び出しは成功しました。
<0:呼び出しは失敗しました。
SetH5CompatibleMode
H5 互換モードを有効または無効にします。
static void SetH5CompatibleMode(bool comp);パラメーター
名前 | タイプ | 説明 |
comp | bool |
|
現在のバージョンでは、AliRtcEngine インスタンスが作成された後に H5 互換モードを変更することはサポートされていません。インスタンスを作成する前にこのメソッドを呼び出す必要があります。
GetH5CompatibleMode
H5 互換モードが有効になっているかどうかを確認します。
static bool GetH5CompatibleMode();戻り値
true:H5 互換性が有効です。false:H5 互換性が無効です。
SetEngineEventListener
イベントリスナーのコールバックを設定します。
virtual int SetEngineEventListener(AliEngineEventListener *listener) = 0;このメソッドは、SDK のコールバックリスナーを設定します。このリスナーを設定することで、チャンネルへのユーザーの参加や退出、ネットワークステータスの変更、音声およびビデオストリームのステータスなど、エンジンからのさまざまな通知イベントを受け取ることができます。
AliEngineEventListener クラスを実装して、リッスンしたいイベントメソッドをカスタマイズする必要があります。デフォルトでは、すべてのメソッドは空の実装を持っているため、すべてを実装する必要はありません。必要なイベントメソッドのみを実装できます。
すべてのコールバックは SDK 内部スレッドで実行されます。これらのコールバックで UI 操作を実行しないでください。UI 操作が必要な場合は、メインスレッドで実行してください。コールバック内でこのメソッドを呼び出さないでください。
AliEngine の Destroy メソッドの呼び出しなど、時間のかかる操作をコールバックで実行しないでください。これにより、不要なブロッキングが発生し、SDK のパフォーマンスに影響を与える可能性があります。
関連するコールバック
操作中に例外が発生した場合、SDK はまず内部のリトライメカニズムを使用して自動的に回復を試みます。自動的に解決できないエラーについては、SDK は定義済みのコールバックインターフェイスを通じてアプリケーションに通知します。以下は、SDK が処理できず、アプリケーションがリッスンして応答する必要がある問題に関する主要なコールバックです:
例外の原因 | コールバックとパラメーター | ソリューション | 説明 |
認証の失敗 | OnJoinChannelResult コールバックの result パラメーターが AliRtcErrJoinBadToken を返す | このエラーが発生した場合は、トークンが正しいかどうかを確認してください。 | ユーザーが API を呼び出す際、認証に失敗すると、システムは API のコールバックで認証失敗のエラーメッセージを返します。 |
ネットワーク接続異常 | OnConnectionStatusChange コールバックが AliRtcConnectionStatusFailed を返します。 | この例外が発生した場合、アプリケーションはチャンネルに再参加する必要があります。 | SDK は一定期間のネットワーク切断から自動的に回復できます。ただし、切断時間が設定されたしきい値を超えると、タイムアウトがトリガーされ、接続が失われます。この場合、アプリケーションはネットワークステータスを確認し、ユーザーにチャンネルへの再参加を促す必要があります。 |
オンプレミスデバイス異常 | OnLocalDeviceException | この例外が発生した場合は、権限とデバイスのハードウェアが正常かどうかを確認してください。 | RTC サービスは、デバイス検出と例外診断をサポートしています。オンプレミスデバイスで例外が発生すると、RTC サービスはコールバックを通じて顧客に通知します。SDK が問題を解決できない場合、アプリケーションはデバイスが正常かどうかを確認するために介入する必要があります。 |
キックされてオフラインになる | OnBye |
| RTC サービスは、管理者が参加者を積極的に削除する機能を提供します。 |
認証が間もなく期限切れになる | OnWillAuthInfoExpire | この例外が発生した場合は、最新の認証情報を取得し、refreshAuthInfo を呼び出して更新します。 | 認証の有効期限切れエラーは、ユーザーが API を呼び出すとき、またはプログラムの実行中という 2 つの状況で発生します。したがって、エラーフィードバックは API コールバックまたは別のエラーコールバックを通じて送信されます。 |
認証期限切れ | OnAuthInfoExpired | この例外が発生した場合、アプリケーションはチャンネルに再参加する必要があります。 | 認証の有効期限切れエラーは、ユーザーが API を呼び出すとき、またはプログラムの実行中という 2 つの状況で発生します。したがって、エラーフィードバックは API コールバックまたは別のエラーコールバックを通じて送信されます。 |
パラメーター
名前 | タイプ | 説明 |
listener | AliEngineEventListener* | エンジンイベントリスナー。AliEngineEventListener クラスを実装し、リッスンしたいイベントコールバックをオーバーライドする必要があります。これを nullptr に設定すると、すべてのイベントリスナーがキャンセルされます。 |
戻り値
0:成功。
0 以外の値:失敗。これは、listener パラメーターが無効であるか、SDK が正しく初期化されていないことが原因である可能性があります。
GetSDKVersion
現在の SDK バージョンを照会します。
static const char *GetSDKVersion();戻り値
現在の SDK バージョン番号を文字列形式で返します。例:「2.5.0.x」。
SetChannelProfile
チャンネルプロファイルを設定します。
virtual int SetChannelProfile(const AliEngineChannelProfile channelProfile) = 0;このメソッドはチャンネルプロファイルを設定します。現在、ビデオ通話シナリオとインタラクティブストリームシナリオのプロファイルを提供しています:
ビデオ通話プロファイル:すべてのユーザーがストリーマーロールを持ち、ストリームをパブリッシュおよびサブスクライブできます。
インタラクティブストリームモード:
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#c99c2b257dd8o" id="4e50f781a01e1">SetClientRole</a>メソッドを呼び出してユーザーロールを設定する必要があります。チャンネルでストリームをプッシュするユーザーのロールをストリーマー (AliRTCSdkInteractive) に設定します。ユーザーがストリームをプルするだけでストリームをプッシュしない場合は、ロールを視聴者 (AliRTCSdkLive) に設定します。このモードは RTC シナリオに推奨されます。
すべての RTC シナリオでインタラクティブストリームプロファイルを使用することを推奨します。そのためには、このメソッドを呼び出し、プロファイルを
AliEngineInteractiveLiveに設定します。同じチャンネル内のユーザーは、同じチャンネルプロファイルを使用する必要があります。
呼び出すタイミング
このメソッドは、チャンネルに参加する前にのみ呼び出すことができます。チャンネル内ではリセットできません。チャンネルを退出した後にリセットできます。
パラメーター
名前 | タイプ | 説明 |
profile | チャンネルプロファイル。RTC シナリオでは、これをインタラクティブストリームプロファイルである AliEngineInteractiveLive に設定することを推奨します。 |
戻り値
0:メソッドの呼び出しは成功しました。
その他の値:メソッドの呼び出しは失敗しました。
-1:SDK が初期化されていないか、破棄されています。
SetAudioProfile
オーディオプロファイルを設定します。
virtual int SetAudioProfile(int audioProfile, int audioScene) = 0;このメソッドは、オーディオエンコーディングプロファイルとオーディオシナリオを設定します。詳細については、「一般的なオーディオ操作と構成」をご参照ください。ARTC SDK は、デフォルトで高品質モード (AliEngineHighQualityMode) と音楽シナリオモード (AliEngineSceneMusicMode) を使用します。デフォルト設定がニーズに合わない場合は、このメソッドを呼び出して構成できます。
呼び出すタイミング
このメソッドは、チャンネルに参加する前にのみ呼び出すことができます。チャンネルに参加した後はリセットできません。チャンネルを退出した後にリセットできます。
パラメーター
名前 | タイプ | 説明 |
audio_profile | オーディオ収集またはエンコーディングプロファイルのパラメーター。高品質モード (AliRtcEngineHighQualityMode) の使用を推奨します。 説明 Web と相互運用するには、サンプルレートを 48 kHz に設定します。
| |
audio_scene | オーディオシナリオのパラメーター。主に以下が含まれます:
|
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
IsAudioOnlyMode
現在のモードが音声のみかどうかを確認します。
virtual bool IsAudioOnlyMode() = 0;戻り値
true:現在のモードは音声のみです。false:現在のモードは音声とビデオです。
SetAudioOnlyMode
モードを音声のみ、または音声と映像に設定します。
virtual int SetAudioOnlyMode(bool audioOnly) = 0;パラメーター
名前 | タイプ | 説明 |
audioOnly | bool |
|
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
JoinChannel[1/3]
チャンネルに参加します。
virtual int JoinChannel(const char *token, const char *channelId, const char *userId, const char *userName) = 0;このメソッドはチャンネルに参加します。ARTC では、ユーザーはチャンネルによって整理されます。ユーザーは、音声およびビデオストリームをパブリッシュまたはサブスクライブするためにチャンネルに参加する必要があります。このメソッド、JoinChannel[2/3]、および JoinChannel[3/3] はすべてチャンネルへの参加に使用できます。認証方法と渡すユーザー情報が異なります:
このメソッドは、単一パラメーターでチャンネルに参加するためのものです。トークンベースの認証を使用して単一パラメーター参加用に生成されたトークンを渡す必要があります。RTC シナリオでチャンネルに参加するには、このメソッドを使用することを推奨します。
JoinChannel[2/3]は、複数のパラメーターでチャンネルに参加するためのものです。トークンベースの認証を使用して生成された複数パラメーターのトークンと、トークンの生成に使用されたユーザー情報を渡す必要があります。JoinChannel[3/3]は、AI リアルタイムインタラクションシナリオ用です。単一パラメーターのトークンを渡し、シナリオに基づいてユーザープロパティcapabilityProfileを設定する必要があります。
デフォルトでは、チャンネルに参加すると、チャンネル内の他のすべてのユーザーの音声およびビデオストリームをサブスクライブし、自分の音声およびビデオストリームをリモートユーザーにプッシュします。このデフォルトのサブスクリプションをキャンセルしたい場合は、この API を呼び出す前に <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="00e50070ba5ck">SetDefaultSubscribeAllRemoteAudioStreams</a> と <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="0b0bcff091gtk">SetDefaultSubscribeAllRemoteVideoStreams</a> を呼び出して、音声またはビデオストリームのサブスクリプションを無効にすることができます。
呼び出すタイミング
エンジンを作成した後にこのメソッドを呼び出します。
制限事項
チャンネルに正常に参加した後、別のチャンネルに参加するには、まず
LeaveChannelを呼び出して現在のチャンネルを退出する必要があります。<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#b70203f9ea0mz" id="b2522e57e4vom">OnLeaveChannelResult</a>コールバックを受信した後にのみ、別のチャンネルに参加できます。このメソッドは、一度に 1 つのチャンネルにのみ参加できます。
異なる App ID を持つアプリケーションは相互に通信できません。
チャンネルへの参加に失敗した後のリトライ時にこのメソッドを呼び出さないでください。
関連するコールバック
このメソッドの呼び出しが成功すると、次のコールバックがトリガーされます:
ローカルクライアントがチャンネルに参加した結果は、
AliRtcEngineEventListenerの<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#7cbf47a35bcel" id="cad6eb9b1bwx7">OnJoinChannelResult</a>コールバックを通じて返されます。チャンネルに正常に参加した後、リモートクライアントで
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#3333f6e9d344q" id="fab4a94264m28">OnRemoteUserOnLineNotify</a>コールバックがトリガーされます。
パラメーター
パラメーター | タイプ | 説明 |
token | const char * | 単一パラメーター参加のための認証情報。 |
channelId | const char * | 参加するチャンネル。これは、トークンの生成に使用された値と同じでなければなりません。 |
userId | const char * | 参加するユーザー ID。これは、トークンの生成に使用された値と同じでなければなりません。 |
userName | const char * | ユーザーの表示名 (ユーザー ID ではありません)。 |
戻り値
0:メソッドの呼び出しは成功しました。0 以外の値:メソッドの呼び出しは失敗しました。
JoinChannel[2/3]
チャンネルに参加します。
virtual int JoinChannel(const AliEngineAuthInfo &authInfo,
const char *userName) = 0;このメソッドはチャンネルに参加します。ARTC では、ユーザーはチャンネルによって整理されます。ユーザーは、音声およびビデオストリームをパブリッシュまたはサブスクライブするためにチャンネルに参加する必要があります。このメソッド、JoinChannel[1/3]、および JoinChannel[3/3] はすべてチャンネルへの参加に使用できます。認証方法と渡すユーザー情報が異なります:
JoinChannel[1/3]は、単一パラメーターでチャンネルに参加するためのものです。トークンベースの認証を使用して単一パラメーター参加用に生成されたトークンを渡す必要があります。RTC シナリオでチャンネルに参加するには、このメソッドを使用することを推奨します。このメソッドは、複数のパラメーターでチャンネルに参加するためのものです。トークンベースの認証を使用して生成された複数パラメーターのトークンと、トークンの生成に使用されたユーザー情報を渡す必要があります。
JoinChannel[3/3]は、AI リアルタイムインタラクションシナリオ用です。単一パラメーターのトークンを渡し、シナリオに基づいてユーザープロパティcapabilityProfileを設定する必要があります。
デフォルトでは、チャンネルに参加すると、他のすべてのユーザーの音声およびビデオストリームをサブスクライブし、自分のストリームをリモートユーザーにプッシュします。デフォルトのサブスクリプションをキャンセルするには、この操作を呼び出す前に
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="d4639ae922klp">SetDefaultSubscribeAllRemoteAudioStreams</a>と<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="6d0a63e70bpiz">SetDefaultSubscribeAllRemoteVideoStreams</a>を呼び出して、音声またはビデオストリームのサブスクリプションを無効にすることができます。これは、チャンネルに参加するための複数パラメーターのメソッドです。呼び出す前に、複数パラメーターのトークンを生成する必要があります。詳細については、「トークンベースの認証」をご参照ください。
制限事項
チャンネルに正常に参加した後、別のチャンネルに参加するには、まず
LeaveChannelを呼び出して現在のチャンネルを退出する必要があります。<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#b70203f9ea0mz" id="fcd2fac6abf0y">OnLeaveChannelResult</a>コールバックを受信した後にのみ、別のチャンネルに参加できます。このメソッドは、一度に 1 つのチャンネルにのみ参加できます。
異なる App ID を持つアプリケーションは相互に通信できません。
関連するコールバック
このメソッドの呼び出しが成功すると、次のコールバックがトリガーされます:
ローカルクライアントは、
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#7cbf47a35bcel" id="b3db8c610ewua">OnJoinChannelResult</a>コールバックを通じてチャンネルへの参加結果を通知されます。チャンネルに正常に参加した後、リモートクライアントで
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#3333f6e9d344q" id="a1297d33bcd92">OnRemoteUserOnLineNotify</a>コールバックがトリガーされます。
パラメーター
名前 | タイプ | 説明 |
authInfo | 認証情報。 | |
userName | const char * | ユーザーの表示名 (ユーザー ID ではありません)。 |
JoinChannel[3/3]
チャンネルに参加します。
virtual int JoinChannel(const char *token, const char *channelId, const char *userId, const AliEngineChannelParam &userParam) = 0;このメソッドはチャンネルに参加します。ARTC では、ユーザーはチャンネルによって整理されます。ユーザーは、音声およびビデオストリームをパブリッシュまたはサブスクライブするためにチャンネルに参加する必要があります。このメソッド、JoinChannel[1/3]、および JoinChannel[2/3] はすべてチャンネルへの参加に使用できます。認証方法と渡すユーザー情報が異なります:
JoinChannel[1/3]は、RTC シナリオでチャンネルに参加するための単一パラメーターのメソッドです。トークンベースの認証を使用して単一パラメーター参加用に生成されたトークンを渡す必要があります。RTC シナリオでチャンネルに参加するには、このメソッドを使用することを推奨します。JoinChannel[2/3]は、複数のパラメーターでチャンネルに参加するためのものです。トークンベースの認証を使用して生成された複数パラメーターのトークンと、トークンの生成に使用されたユーザー情報を渡す必要があります。このメソッドは、AI リアルタイムインタラクションシナリオ用です。単一パラメーターのトークンを渡し、シナリオに基づいてユーザープロパティ
capabilityProfileを設定する必要があります。AI エージェントと通信するには、AliCapabilityProfileHumanに設定します。
デフォルトでは、チャンネルに参加すると、チャンネル内の他のすべてのユーザーの音声およびビデオストリームをサブスクライブし、自分の音声およびビデオストリームをリモートユーザーにプッシュします。このデフォルトのサブスクリプションをキャンセルするには、この API を呼び出す前に <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="952a402dc4v73">SetDefaultSubscribeAllRemoteAudioStreams</a> と <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="4e977610713wy">SetDefaultSubscribeAllRemoteVideoStreams</a> を呼び出して、音声またはビデオストリームのサブスクリプションを無効にすることができます。
制限事項
チャンネルに正常に参加した後、別のチャンネルに参加するには、まず
leaveChannelを呼び出して現在のチャンネルを退出する必要があります。<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#b70203f9ea0mz" id="15ec544e3985m">OnLeaveChannelResult</a>コールバックを受信した後にのみ、再度チャンネルに参加できます。このメソッドは、一度に 1 つのチャンネルにのみ参加できます。
異なる App ID を持つアプリケーションは相互に通信できません。
チャンネルへの参加に失敗した後のリトライ時にこのメソッドを呼び出さないでください。
関連するコールバック
このメソッドの呼び出しが成功すると、次のコールバックがトリガーされます:
ローカルユーザーがチャンネルに参加した結果は、
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#7cbf47a35bcel" id="5d109191c950l">OnJoinChannelResult</a>コールバックを通じて提供されます。チャンネルに正常に参加した後、リモートクライアントは
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#3333f6e9d344q" id="fa6f8d9357glx">OnRemoteUserOnLineNotify</a>コールバックをトリガーします。
パラメーター
パラメーター | タイプ | 説明 |
token | const char * | 単一パラメーター参加のための認証情報。 |
channelId | const char * | 参加するチャンネル。これはトークンの生成に使用された値と同じでなければなりません。空にすることもできます。空の場合、デフォルトでトークンの生成に使用された channelId が使用されます。 |
userId | const char * | 参加するためのユーザー ID。これはトークンの生成に使用された値と同じでなければなりません。空にすることもできます。空の場合、デフォルトでトークンの生成に使用された userId が使用されます。 |
userParam | ニックネーム、タイプ、カスタム ID などのユーザープロパティ。 |
戻り値
0:メソッドの呼び出しは成功しました。0 以外の値:メソッドの呼び出しは失敗しました。
LeaveChannel
チャンネルを退出できます。
virtual int LeaveChannel() = 0;このメソッドを呼び出すと、SDK は音声およびビデオ通話を終了し、現在のチャンネルを退出します。
このメソッドは非同期操作です。このメソッドの呼び出しが成功しても、チャンネルを退出したことにはなりません。
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#b70203f9ea0mz" id="2741d56c6eqau">OnLeaveChannelResult</a>コールバックが返されるまで、チャンネルを退出していません。チャンネルを退出した後、エンジンを破棄して null に設定する必要があります。
mAliRtcEngine->LeaveChannel(); AliEngine::Destroy(); mAliRtcEngine = nullptr;
呼び出すタイミング
チャンネルを退出するためにこのメソッドを呼び出します。
新しいチャンネルに参加する前に、このメソッドを呼び出して現在のチャンネルを退出する必要があります。
関連するコールバック
このメソッドを呼び出すと、ローカルクライアントで
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#b70203f9ea0mz" id="9626ae24d89ue">OnLeaveChannelResult</a>コールバックがトリガーされ、クライアントがチャンネルを正常に退出したかどうかが報告されます。リモートユーザー:この API の呼び出しが成功すると、
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#44ce12a0ecj52" id="0dfcab6a6fylt">OnRemoteUserOffLineNotify</a>コールバックがトリガーされます。
レスポンスの説明
値 0 はメソッドの呼び出しが成功したことを示します。その他の値はメソッドの呼び出しが失敗したことを示します。
IsInCall
ユーザーが現在チャンネルに参加しているかどうかを確認します。
virtual bool IsInCall() = 0;戻り値
true:ユーザーはチャンネルに参加しています。false:ユーザーはチャンネルに参加していません。
SetClientRole
ユーザーロールを設定します。
virtual int SetClientRole(const AliEngineClientRole clientRole) = 0;このメソッドは、ユーザーロールをストリーマーまたは視聴者に設定します。
インタラクティブストリームモードで、チャンネルに参加する前に:
ユーザーロールをストリーマーに設定すると、SDK はデフォルトでローカルの音声およびビデオストリームをパブリッシュし、他のストリーマーの音声およびビデオストリームを受信します。
ユーザーロールを視聴者に設定すると、SDK はローカルの音声およびビデオストリームをパブリッシュせず、他のストリーマーの音声およびビデオストリームを受信します。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。参加する前に呼び出してユーザーロールを設定するか、参加後に呼び出してユーザーロールを切り替えることができます。
制限事項
このメソッドは、インタラクティブストリームモードでのみ有効です。つまり、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#901e748242y3g" id="322c3da902jpt">SetChannelProfile</a> メソッドを呼び出し、チャンネルプロファイルを AliEngineInteractiveLive に設定する必要があります。
インタラクティブストリームモードでは、チャンネルに参加する前にこのメソッドを明示的に呼び出してユーザーロールを設定することを推奨します。
パラメーター
名前 | タイプ | 説明 |
role | ユーザーロールのタイプ。デフォルト値は AliEngineClientRolelive (視聴者) です。ロールタイプは非通信モードでのみ有効です。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
GetClientRole
現在のユーザーロールタイプ (ストリーマーまたは視聴者) を取得します。
virtual AliEngineClientRole GetClientRole() = 0;戻り値
メソッドの呼び出しが成功した場合、AliEngineClientRole オブジェクトを返します。これは、ロールがストリーマー (0) または視聴者 (1) であることを示す列挙型です。
RefreshAuthInfo[1/2]
認証情報を更新します。
virtual int RefreshAuthInfo(const AliEngineAuthInfo &authInfo) = 0;このメソッドは認証情報を更新します。トークンは一定期間後に期限切れになります。トークンが期限切れになると、SDK はサーバーに接続できなくなります。
このメソッドと RefreshAuthInfo[2/2] は両方とも認証情報を更新します。このメソッドは複数パラメーターのトークンを更新するために使用され、RefreshAuthInfo[2/2] は単一パラメーターのトークンを更新するために使用されます。トークン生成の詳細については、「トークンベースの認証」をご参照ください。
呼び出すタイミング
次の状況で:
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#9f8ebe177degw" id="f52a19bb78yoi">OnAuthInfoWillExpire</a>コールバックを受信したとき、これは認証情報がまもなく期限切れになることを示します。サーバーで新しいトークンを再生成し、このメソッドを新しいトークンで呼び出すことを推奨します。トークンを時間内に更新しない場合、
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#09c4ec9160eom" id="440c501877fxr">OnAuthInfoExpired</a>コールバックがトリガーされ、認証が期限切れになったことが通知されます。その後、トークンを再生成し、JoinChannelを呼び出してチャンネルに再参加する必要があります。
パラメーター
名前 | タイプ | 説明 |
authInfo | 認証情報。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
RefreshAuthInfo[2/2]
認証情報を更新します。
virtual int RefreshAuthInfo(const char *token) = 0;このメソッドはトークンを更新します。トークンは一定期間後に期限切れになります。トークンが期限切れになると、SDK はサーバーに接続できなくなります。
このメソッドと RefreshAuthInfo[1/2] は両方とも認証情報を更新します。このメソッドは単一パラメーターのトークンを更新するために使用され、RefreshAuthInfo[1/2] は複数パラメーターのトークンを更新するために使用されます。トークン生成の詳細については、「トークンベースの認証」をご参照ください。
呼び出すタイミング
次の状況では、サーバーでトークンを再生成し、このメソッドを呼び出して新しいトークンを渡すことを推奨します:
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#9f8ebe177degw" id="b21949148djrc">OnAuthInfoWillExpire</a>コールバックを受信したとき、これは認証情報がまもなく期限切れになることを示します。トークンが時間内に更新されない場合、
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#09c4ec9160eom" id="62df9bf63786v">OnAuthInfoExpired</a>コールバックがトリガーされ、認証が期限切れになったことが示されます。この場合、JoinChannelを呼び出してチャンネルに再参加する必要があります。
パラメーター
名前 | タイプ | 説明 |
token | const char *token | 単一パラメーター参加のための認証情報。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
PublishLocalAudioStream
ローカルオーディオストリームのパブリッシュを有効または無効にします。
virtual int PublishLocalAudioStream(bool enabled) = 0;このメソッドは、ローカルで収集されたオーディオストリームをパブリッシュするかどうかを制御します。SDK はデフォルトでオーディオストリームをパブリッシュします。デフォルトでオーディオストリームをパブリッシュしたくない場合は、チャンネルに参加する前に PublishLocalAudioStream(false) を呼び出してオーディオストリームのパブリッシュを無効にすることができます。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。チャンネルに参加する前に呼び出すと、デフォルトの構成が変更され、チャンネルに参加したときに有効になります。
関連するコールバック
ローカルオーディオストリームのプッシュ状態が変更されると、ローカルクライアントは <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#eb8fab7f5ak7v" id="c584949653jn5">OnAudioPublishStateChanged</a> コールバックをトリガーして、オーディオストリームのプッシュの最新の状態を報告します。リモートクライアントは <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#ff1f7c8581r3r" id="75f2096b1efxy">OnRemoteTrackAvailableNotify</a> コールバックをトリガーして、リモートユーザーの音声およびビデオストリームの変更を報告します。
パラメーター
名前 | タイプ | 説明 |
enable | bool |
|
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
IsLocalAudioStreamPublished
現在オーディオストリームのパブリッシュが許可されているかどうかを照会します。
virtual bool IsLocalAudioStreamPublished() = 0;戻り値
true:パブリッシュが許可されています。false:パブリッシュが許可されていません。
SetDefaultSubscribeAllRemoteAudioStreams
デフォルトでリモートオーディオストリームをサブスクライブするかどうかを設定します。
virtual int SetDefaultSubscribeAllRemoteAudioStreams(bool sub) = 0;このメソッドは、デフォルトでリモートユーザーのオーディオストリームをサブスクライブするかどうかを構成します。この設定は、チャンネルに参加する新しいユーザーのオーディオストリームのサブスクリプション動作に影響します。特別な要件がない限り、これを true に設定することを推奨します。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。
チャンネルに参加する前:
SDK は、チャンネルに参加するときにデフォルトでリモートユーザーのオーディオストリームをサブスクライブします。この動作を変更したい場合は、参加する前にこのメソッドを呼び出します。
チャンネルに参加した後:
デフォルトのサブスクリプションを停止したい場合は、
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="e95a7e2d6fjwt">SetDefaultSubscribeAllRemoteAudioStreams</a>(false)を呼び出します。これにより、後でチャンネルに参加するユーザーのオーディオストリームはサブスクライブされません。デフォルトのサブスクリプションを停止した後、
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#957e547813q56" id="1a391bcabc66e">SubscribeRemoteAudioStream</a>を呼び出して、特定のユーザーのオーディオストリームのサブスクリプションを再開できます。複数のユーザーのサブスクリプションを再開したい場合は、このメソッドを複数回呼び出す必要があります。デフォルトのサブスクリプションを停止した後、
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="e79b5ad58awcw">SetDefaultSubscribeAllRemoteAudioStreams</a>(true)を呼び出すと、後続でチャンネルに参加するユーザーのオーディオストリームのみがサブスクライブされます。サブスクリプションが停止している間に参加したリモートユーザーのストリームはサブスクライブされません。
パラメーター
名前 | タイプ | 説明 |
sub | bool |
|
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SubscribeRemoteAudioStream
特定のリモートユーザーのオーディオストリームのサブスクリプションを停止または再開します。
virtual int SubscribeRemoteAudioStream(const char* uid, bool sub) = 0;このメソッドは、特定のリモートユーザーのオーディオストリームのサブスクリプションを停止または再開します。特別な要件がない限り、これを true に設定することを推奨します。
デフォルトでは、SDK はチャンネルに参加するときにすべてのリモートユーザーのオーディオストリームをサブスクライブします。この動作を変更したい場合は、チャンネルに参加する前に <a baseurl="t2713962_v4_1_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="bf2d59f02d9tq">SetDefaultSubscribeAllRemoteAudioStreams</a>(false) を呼び出して、このデフォルト構成をキャンセルできます。
パラメーター
名前 | タイプ | 説明 |
uid | const char* | リモートユーザー ID。 |
sub | bool |
|
レスポンスの説明
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SubscribeAllRemoteAudioStreams
すべてのリモートオーディオストリームの受信を停止または再開します。
virtual int SubscribeAllRemoteAudioStreams(bool sub) = 0;このメソッドは、リモートオーディオストリームのサブスクリプションのマスターイッチです。true に設定することを推奨します。false に設定すると、次のようになります:
現在のチャンネル内のすべてのリモートオーディオストリームのサブスクリプションが停止します。
後で参加するユーザーもサブスクライブされません。
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#957e547813q56" id="aface4ad3920l">SubscribeRemoteAudioStream</a>を使用して特定のユーザーのオーディオストリームを制御することはできません。
再サブスクライブするには、このメソッドを再度呼び出し、true に設定してサブスクリプションを再開します。
デフォルトでは、SDK はチャンネルに参加するときにすべてのリモートユーザーのオーディオストリームをサブスクライブします。この動作を変更するには、チャンネルに参加する前に <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="3927721185m08">SetDefaultSubscribeAllRemoteAudioStreams</a>(false) を呼び出して、このデフォルト構成をキャンセルできます。
パラメーター
名前 | タイプ | 説明 |
sub | bool |
|
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
PublishLocalVideoStream[1/2]
カメラストリームをパブリッシュまたはパブリッシュを停止します。
virtual int PublishLocalVideoStream(bool enabled) = 0;このメソッドは、ローカルで収集されたビデオストリームをパブリッシュするかどうかを制御します。
SDK はデフォルトでビデオストリームをパブリッシュします。ビデオストリームのパブリッシュを無効にするには、チャンネルに参加する前に PublishLocalVideoStream(false) を呼び出すことができます。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。
チャンネルに参加する前に呼び出すと、デフォルトの構成が変更され、チャンネルに参加したときに有効になります。
関連するコールバック
ローカルオーディオストリームのプッシュ状態が変更されると、ローカルクライアントは <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#6bf4efbd1cadl" id="d37709b09147d">OnVideoPublishStateChanged</a> コールバックをトリガーして新しいオーディオストリームのプッシュステータスを報告し、リモートクライアントは <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#ff1f7c8581r3r" id="f16e4b51bchqb">OnRemoteTrackAvailableNotify</a> コールバックをトリガーしてリモートユーザーの音声およびビデオストリームの変更を報告します。
パラメーター
名前 | タイプ | 説明 |
enable | bool |
|
戻り値
0:メソッドの呼び出しは成功しました。
<0:メソッドの呼び出しは失敗しました。
PublishLocalVideoStream[2/2]
ビデオストリームの送信を有効または無効にします。
virtual int PublishLocalVideoStream(bool enabled, AliEngineVideoTrack track) = 0;このメソッドは、ローカルで収集されたビデオストリームをパブリッシュするかどうかを制御します。
SDK はデフォルトでビデオストリームをパブリッシュします。ビデオストリームのパブリッシュを無効にするには、チャンネルに参加する前に PublishLocalVideoStream(false) を呼び出すことができます。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。
チャンネルに参加する前に呼び出すと、デフォルトの構成が変更され、チャンネルに参加したときに有効になります。
関連するコールバック
ローカルビデオストリームのプッシュ状態が変更されると、ローカルクライアントは <a baseurl="t2713962_v5_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#6bf4efbd1cadl" id="18a9d4b47ezcc">OnVideoPublishStateChanged</a> コールバックをトリガーしてビデオストリームのプッシュの最新の状態を報告します。リモートクライアントは <a baseurl="t2713962_v5_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#ff1f7c8581r3r" id="d01e7a574f92o">OnRemoteTrackAvailableNotify</a> コールバックをトリガーして、リモートユーザーの音声およびビデオストリームが変更されたことを通知します。
パラメーター
名前 | タイプ | 説明 |
enable | bool |
|
track | カメラストリームや画面共有ストリームなどのビデオストリームタイプ。 |
戻り値
0:メソッドの呼び出しは成功しました。
<0:メソッドの呼び出しは失敗しました。
IsLocalVideoStreamPublished
現在ビデオストリームのパブリッシュが許可されているかどうかを照会します。
virtual bool IsLocalVideoStreamPublished() = 0;戻り値
true:カメラストリームはパブリッシュされます。false:カメラストリームはパブリッシュされません。
SetDefaultSubscribeAllRemoteVideoStreams
デフォルトでビデオストリームを受信するかどうかを設定します。
virtual int SetDefaultSubscribeAllRemoteVideoStreams(bool sub) = 0;このメソッドは、デフォルトでビデオストリームをサブスクライブするかどうかを設定します。SDK はデフォルトでサブスクライブします。
デフォルトでは、SDK はチャンネルに参加するときにリモートユーザーのビデオストリームをサブスクライブします。この動作を変更したい場合は、チャンネルに参加する前にこのメソッドを呼び出すことができます。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。
チャンネルに参加する前:
このメソッドを使用して、デフォルトのサブスクリプション設定をキャンセルできます。
チャンネルに参加した後:
デフォルトのサブスクリプションを停止するには、
SetDefaultSubscribeAllRemoteVideoStreams(false)を呼び出します。これにより、後続でチャンネルに参加するユーザーのビデオストリームのサブスクリプションが防止されます。デフォルトのサブスクリプションを停止した後、特定のユーザーのビデオストリームのサブスクリプションを再開したい場合は、SubscribeRemoteVideoStream メソッドを呼び出します。複数のユーザーのサブスクリプションを再開するには、複数回呼び出す必要があります。
デフォルトのサブスクリプションが停止された後、
SetDefaultSubscribeAllRemoteVideoStreams(false)を呼び出すと、後でチャンネルに参加するユーザーのオーディオストリームのみが再開されます。
パラメーター
名前 | タイプ | 説明 |
sub | bool |
|
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SubscribeRemoteVideoStream
リモートユーザーのビデオストリームのサブスクライブを停止または再開します。
virtual int SubscribeRemoteVideoStream(const char* uid, AliEngineVideoTrack track, bool sub) = 0;このメソッドは、特定のユーザーのビデオストリームをサブスクライブまたはサブスクライブ解除します。
デフォルトでは、SDK はチャンネルに参加するときにすべてのリモートユーザーのビデオストリームをサブスクライブします。<a baseurl="t2713962_v4_1_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="f71e02d13ap2b">SetDefaultSubscribeAllRemoteVideoStreams</a>(false) を呼び出して、チャンネルに参加する前にこのデフォルト構成をキャンセルできます。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。
パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | リモートユーザー ID。 |
track | ビデオストリームタイプ。 | |
sub | bool | リモートユーザーのビデオストリームをサブスクライブするかどうか。これにより、サブスクリプションまたはサブスクリプション解除が制御されます。 |
戻り値
true:設定は成功しました。
false:設定は失敗しました。
SubscribeAllRemoteVideoStreams
すべてのリモートビデオストリームの受信を停止または再開します。
virtual int SubscribeAllRemoteVideoStreams(bool sub) = 0;このメソッドは、リモートビデオストリームのサブスクリプションのマスターイッチです。false に設定すると、次のようになります:
現在のチャンネル内のすべてのリモートビデオストリームのサブスクリプションが停止します。
デフォルトでサブスクライブするように
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="b7b0080f3cnoq">SetDefaultSubscribeAllRemoteVideoStreams</a>(true)を呼び出した場合でも、後でチャンネルに参加する新しいユーザーからのビデオストリームはサブスクライブされません。<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#jyGTp" id="0e2edf97aa1g6">SubscribeRemoteVideoStream</a>を使用して、指定されたユーザーのオーディオストリームを個別に制御することはできません。
再サブスクライブするには、このメソッドを再度呼び出し、true に設定してサブスクリプションを再開します。
デフォルトでは、SDK はチャンネルに参加するときにすべてのリモートユーザーのビデオストリームをサブスクライブします。この動作を変更するには、チャンネルに参加する前に <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="629f58d5304mf">SetDefaultSubscribeAllRemoteVideoStreams</a>(false) を呼び出して、このデフォルト構成をキャンセルできます。
パラメーター
名前 | タイプ | 説明 |
sub | bool |
|
レスポンスの説明
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SubscribeRemoteMediaStream[1/2]
特定のリモートユーザーのメディアストリームを停止または再開します。
virtual int SubscribeRemoteMediaStream(const char* uid, AliEngineVideoTrack videoTrack, bool subVideo, bool subAudio) = 0;このメソッドは、リモートの音声およびビデオストリームを一緒にサブスクライブします。
このメソッドでは、AliRtcVideoTrack の AliRtcVideoTrackNo は無効であり、効果はありません。
関連メソッド
SubscribeRemoteMediaStream[2/2] と比較して、このメソッドは 2 つのブール値パラメーター subVideo と subAudio を使用して、リモートの音声およびビデオストリームをサブスクライブするかどうかを決定します。videoTrack パラメーターは、どのビデオストリームをプルするかを制御します。
パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | リモートユーザー ID。 |
videoTrack | ビデオストリームタイプ。 | |
subVideo | boo | 特定のリモートユーザーのビデオストリームのプルを停止または再開します。値:
|
subAudio | boo | 特定のリモートユーザーのオーディオストリームのプルを停止または再開します。値:
|
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SubscribeRemoteMediaStream[2/2]
特定のリモートユーザーのメディアストリームを停止または再開します。
virtual int SubscribeRemoteMediaStream(const char* uid, AliEngineVideoTrack videoTrack, AliEngineAudioTrack audioTrack) = 0;このメソッドは、リモートの音声およびビデオストリームを一緒にサブスクライブします。
関連メソッド
SubscribeRemoteMediaStream[1/2] と比較して、このメソッドは videoTrack と audioTrack パラメーターを使用して、1 回の呼び出しで SDK に目的のサブスクリプション状態を通知します。例:
カメラストリームとマイクストリームをサブスクライブするには、メソッドを呼び出すときに videoTrack と audioTrack をそれぞれ
AliRtcVideoTrackCameraとAliRtcAudioTrackMicに設定します。カメラストリームのサブスクライブを解除し、マイクストリームを維持するには、メソッドを再度呼び出し、videoTrack と audioTrack をそれぞれ
AliRtcVideoTrackNoとAliRtcAudioTrackMicに設定します。両方のサブスクリプションをキャンセルするには、メソッドを再度呼び出し、videoTrack と audioTrack をそれぞれ
AliRtcVideoTrackNoとAliRtcAudioTrackNoに設定します。カメラストリームと画面共有ストリームの両方を同時にサブスクライブするには、videoTrack を
AliRtcVideoTrackBothに設定します。オーディオも同様です。
パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | リモートユーザー ID。 |
videoTrack | ビデオストリームタイプ。 | |
audioTrack | オーディオストリームタイプ。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SubscribeRemoteDestChannelStream
チャンネル間で指定したユーザーのストリームをサブスクライブします。
virtual int SubscribeRemoteDestChannelStream(const char* channelId, const char* uid, AliEngineVideoTrack track, bool sub_audio, bool sub) = 0;パラメーター
パラメーター | タイプ | 説明 |
channelId | const char* | リモートチャンネル ID。 |
uid | const char* | リモートユーザー ID。 |
track | サブスクライブするビデオストリーム。 | |
sub_audio | bool | 特定のリモートユーザーのオーディオストリームのプルを停止または再開します。値:
|
sub | bool | 指定されたユーザーのストリームへのクロスチャンネルサブスクリプションを停止または再開します。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SetRemoteAudioVolume
指定されたリモートユーザーの再生音量を調整します。
virtual int SetRemoteAudioVolume(const char *uid, int volume) = 0;パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | リモートユーザー ID。 |
volume | int | 再生音量。範囲は [0,100] です。 0:ミュート。 100:元の音量。 |
戻り値
0:成功。
0 以外の値:失敗。
MuteLocalMic
ローカルオーディオデータの送信を停止または再開します。
virtual int MuteLocalMic(bool mute, AliEngineMuteLocalAudioMode mode = AliEngineMuteLocalAudioModeDefault) = 0;ミュートとは、無音のオーディオフレームを送信することを意味します。収集およびエンコーディングモジュールは引き続き動作します。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。
関連するコールバック
呼び出しが成功した後、リモートクライアントで <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#a15f0a6cf6id7" id="f4ae88f094vqy">OnUserAudioMuted</a> コールバックがトリガーされ、ユーザーがミュートされているかどうかが示されます。
パラメーター
名前 | タイプ | 説明 |
mute | bool |
|
mode | ミュートモード。デフォルトはすべてミュートです。
|
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
MuteRemoteAudio
リモートオーディオの再生を停止または再開します。
virtual int MuteRemoteAudio(const char *uid,
bool mute) = 0;この API は、指定されたリモートユーザーのオーディオ再生を停止または再開するためにのみ使用されます。リモートオーディオのストリームプルやデコードには影響しません。ユーザーのオーディオストリームのサブスクリプションを解除するには、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#957e547813q56" id="89841a0989t7y">SubscribeRemoteAudioStream</a> を呼び出します。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。
パラメーター
名前 | タイプ | 説明 |
uid | const char * | ユーザー ID。 |
mute | bool |
|
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
MuteAllRemoteAudio
すべてのリモートユーザーのオーディオトラックの再生を停止または再開します。
virtual int MuteAllRemoteAudio(bool mute) = 0;このメソッドを使用して、すべてのリモートオーディオ再生を停止または再開します。
この操作は再生のみを停止します。ストリームのプルとデコードには影響しません。
このメソッドは、JoinChannel を呼び出す前または後に呼び出すことができます。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。
パラメーター
名前 | タイプ | 説明 |
mute | bool |
|
戻り値
0:メソッドの呼び出しは成功しました。0 以外の値:メソッドの呼び出しは失敗しました。
StartAudioCapture[1/2]
音声収集を開始します。
virtual int StartAudioCapture() = 0;このメソッドは音声収集を開始します。チャンネルに参加する前に呼び出して、事前に音声収集を開始することもできます。設定されていない場合、SDK は自動的に音声収集デバイスを制御します。stopAudioCapture を呼び出して停止した音声収集を再開するには、このメソッドを呼び出します。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。
関連メソッド
StartAudioCapture[2/2]メソッドは、パラメーターを使用して、チャンネルを退出した後に音声収集デバイスをオンのままにするかどうかを制御できます。
関連するコールバック
このメソッドを呼び出してローカルの音声収集状態を変更した後、OnLocalAudioStateChange コールバックを通じて状態の変更を取得できます。
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
StartAudioCapture[2/2]
音声収集を開始します。
virtual int StartAudioCapture(bool keepAlive) = 0;ミュート後にマイクの音声キャプチャを停止します。
このメソッドは音声収集を開始します。チャンネルに参加する前に呼び出して、事前に音声収集を開始することもできます。設定されていない場合、SDK は自動的に音声収集デバイスを制御します。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。
関連メソッド
StartAudioCapture[1/2] と比較して、このメソッドでは keepAlive パラメーターを使用して、チャンネルを退出した後に収集デバイスをオンのままにするかどうかを制御できます。
関連するコールバック
このメソッドを呼び出してローカルの音声収集状態を変更した後、OnLocalAudioStateChange コールバックを通じて状態の変更を取得できます。
パラメーター
パラメーター | タイプ | 説明 |
keepAlive | bool | チャンネルを退出した後の収集デバイスの状態。値:
|
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
StopAudioCapture
音声収集を停止します。
virtual int StopAudioCapture() = 0;StartAudioCapture でオーディオデバイスの収集を開始した後、このメソッドを呼び出して停止できます。
関連するコールバック
このメソッドを呼び出してローカルの音声収集状態を変更した後、OnLocalAudioStateChange コールバックを通じて状態の変更を取得できます。
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
EnableAudioVolumeIndication
音量コールバックの頻度と平滑化係数を設定します。
virtual int EnableAudioVolumeIndication(int interval, int smooth, int reportVad) = 0;このメソッドにより、SDK はローカルのパブリッシュユーザーと、瞬間的な音量が最も高いリモートユーザーに関する音量関連情報を定期的にアプリケーションに報告できます。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。
関連するコールバック
このメソッドの呼び出しが成功した後、チャンネルにパブリッシュしているユーザーがいる場合、SDK は設定された時間間隔で次の 2 つのコールバックをトリガーします:
スピーカーの音量は、OnAudioVolumeCallback コールバックを通じて報告されます。コールバックの頻度は `interval` パラメーターによって決まります。
音声アクティビティ検出。アクティブなユーザーが検出されると、スピーカーの UID が OnActiveSpeaker コールバックを通じて報告されます。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。
パラメーター
名前 | タイプ | 説明 |
interval | int | ミリ秒単位の時間間隔。最小値は 10 ms 未満であってはなりません。300〜500 ms に設定することを推奨します。0 以下の値は、音量およびスピーカー表示機能を無効にします。 |
smooth | int | 平滑化係数。範囲は [0,9] です。値が大きいほど平滑度が高くなり、逆にリアルタイム性が向上します。3 に設定することを推奨します。 |
reportVad | int | 話者検出スイッチ。値:
|
レスポンスの説明
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
StartAudioPlayer
オーディオ再生デバイスを開始します。
virtual int StartAudioPlayer() = 0;このメソッドは、事前にオーディオ再生を開始できます。設定されていない場合、SDK はオーディオストリームをサブスクライブした後に自動的にオーディオ再生を開始します。
戻り値
0:成功。
0 以外の値:失敗。エラーコードが返されます。
StopAudioPlayer
オーディオ再生を停止します。
virtual int StopAudioPlayer() = 0;このメソッドはオーディオ再生を停止できます。AliEngine::StartAudioPlayer に対応します。
パラメーター
なし。
戻り値
0:成功。
0 以外の値:失敗。エラーコードが返されます。
SetPlayoutVolume
再生音量を設定します。
virtual int SetPlayoutVolume(int volume) = 0;パラメーター
名前 | タイプ | 説明 |
volume | int | 再生音量。範囲は [0,400] です。0:ミュート。>100:音量を上げます。<100:音量を下げます。 |
戻り値
0:成功。
0 以外の値:失敗。エラーコードが返されます。
SetRecordingVolume
virtual int SetRecordingVolume(int volume) = 0;パラメーター
名前 | タイプ | 説明 |
volume | int | 再生音量。範囲は [0,400] です。0:ミュート。>100:音量を上げます。<100:音量を下げます。 |
レスポンスの説明
0:成功。
0 以外の値:失敗。エラーコードが返されます。
PlayAudioFileTest
オーディオファイルを再生します。
virtual int PlayAudioFileTest(const char* filePath) = 0;パラメーター
名前 | タイプ | 説明 |
filePath | const char* | 再生するオーディオファイルのパス。 |
戻り値
0:成功。
<0:失敗。
StopAudioFileTest
オーディオファイルの再生を停止します。
virtual int StopAudioFileTest() = 0;戻り値
0:成功。
<0:失敗。
StartAudioCaptureTest
通話前に音声収集テストを開始します。
virtual int StartAudioCaptureTest() = 0;このメソッドは音声収集テストを開始できます。AliEngineEventListener::OnTestAudioVolumeCallback コールバックの結果を使用して、音声収集が正常かどうかを判断できます。
このメソッドは、チャンネルに参加する (JoinChannel) 前にのみ呼び出すことができます。
戻り値
0:成功。
<0:失敗。
StopAudioCaptureTest
音声収集テストを停止します。
virtual int StopAudioCaptureTest() = 0;このメソッドは、チャンネルに参加する (JoinChannel) 前にのみ呼び出すことができます。
戻り値
0:成功。
<0:失敗。
EnableSystemAudioRecording
システム音声の収集とパブリッシュを有効または無効にします。
virtual int EnableSystemAudioRecording(bool enable, const char *path = nullptr, const char *device_id = nullptr) = 0;このメソッドは、ブラウザやアプリケーションで再生されるサウンドなど、システムオーディオの収集を有効または無効にします。
このメソッドは Windows と macOS でのみサポートされています。
パラメーター
名前 | タイプ | 説明 |
enable | bool | システム音声の収集とパブリッシュを有効または無効にします。
|
path | const char* | path が空の場合、システム全体のサウンドが収集されます。path が .exe プログラムのパスである場合、このプログラムが起動され、そのサウンドが収集されます。 |
device_id | const char* | path が空の場合、デフォルトのサウンドカードデバイスのサウンドが収集されます。それ以外の場合、この device_id を持つデバイスで再生されるサウンドが収集されます。GetSystemRecordAudioPlayerList によって返される ID を使用します。 |
戻り値
0:メソッドの呼び出しは成功しました。
<0:メソッドの呼び出しは失敗しました。
IsSystemAudioRecording
現在、システムオーディオの収集とパブリッシュが有効になっているかどうかを確認します。
virtual bool IsSystemAudioRecording() = 0;システムオーディオの収集を有効または無効にするには、EnableSystemAudioRecording を呼び出します。このメソッドは Windows と macOS プラットフォームでのみ有効です。
戻り値
true:有効。
false:無効。
SetSystemAudioRecordingVolume
システムオーディオの収集とパブリッシュの音量を設定します。
virtual int SetSystemAudioRecordingVolume(int volume) = 0;このメソッドは Windows と macOS プラットフォームでのみ有効です。
このメソッドは、システムオーディオの収集とパブリッシュが有効になった後にのみ設定できます。それ以外の場合、設定は無効です。
パラメーター
名前 | タイプ | 説明 |
volume | int | システム収集のパブリッシュ音量。範囲は [0-400] です。 |
戻り値
0:成功。
<0:失敗。
GetSystemAudioRecordingVolume
現在のシステムオーディオの収集とパブリッシュの音量を取得します。
virtual int GetSystemAudioRecordingVolume() = 0;このメソッドは Windows と macOS プラットフォームでのみ有効です。
戻り値
システムコレクションの公開ボリューム。
SetSystemAudioPlayoutVolume
システム音声の再生音量を設定します。
virtual int SetSystemAudioPlayoutVolume(int volume) = 0;このメソッドは Windows と macOS プラットフォームでのみ有効です。
このメソッドは、システムオーディオの収集とパブリッシュが有効になった後にのみ設定できます。それ以外の場合、設定は無効です。
パラメーター
名前 | タイプ | 説明 |
volume | int | システム収集の再生音量。範囲は [0-400] です。 |
戻り値
0:成功。
<0:失敗。
GetSystemAudioPlayoutVolume
現在のシステムオーディオの再生音量を取得します。
virtual int GetSystemAudioPlayoutVolume() = 0;このメソッドは Windows と macOS プラットフォームでのみ有効です。
戻り値
システムは再生ボリュームを管理します。
GetAudioCaptureList
システム内の録音デバイスのリストを取得します。
virtual AliEngineDeviceInfoList* GetAudioCaptureList() = 0;戻り値
録音デバイスのリストへのポインター、AliEngineDeviceInfoList *。
GetCurrentAudioCaptureName
使用中の録音デバイスの名前を取得します。
virtual String GetCurrentAudioCaptureName() = 0;戻り値
現在の音声収集デバイスの名前。
GetCurrentAudioCaptureID
使用中の録音デバイスの ID を取得します。
virtual String GetCurrentAudioCaptureID() = 0;戻り値
現在使用中の録音デバイスの ID。
SetCurrentAudioCaptureName
名前で録音デバイスを選択します。
virtual int SetCurrentAudioCaptureName(const char* captureName) = 0;パラメーター
名前 | タイプ | 説明 |
captureName | const char * | 録音デバイス名。 |
戻り値
成功の場合は 0、失敗の場合はその他の値。
SetCurrentAudioCaptureID
ID で録音デバイスを選択します。
virtual int SetCurrentAudioCaptureID(const char* captureID) = 0;パラメーター
名前 | タイプ | 説明 |
captureID | const char * | 録音デバイス ID。 |
戻り値
成功の場合は 0、失敗の場合はその他の値。
GetAudioPlayerList
システム内のスピーカーのリストを取得します。
virtual AliEngineDeviceInfoList* GetAudioPlayerList() = 0;戻り値
システム内のスピーカーのリストへのポインター、AliEngineDeviceInfoList *。
GetSystemRecordAudioPlayerList
システム内の録音可能なスピーカーのリストを取得します (システム内録音用)。
virtual AliEngineDeviceInfoList* GetSystemRecordAudioPlayerList() = 0;戻り値
オーディオ再生デバイスリストは、主に EnableSystemAudioRecording の最後のパラメーターとして使用され、システム再生オーディオを収集します。
GetCurrentAudioPlayerName
現在使用中のスピーカーの名前を取得します。
virtual String GetCurrentAudioPlayerName() = 0;戻り値
現在のオーディオ再生デバイスの名前。
GetCurrentAudioPlayerID
現在使用中のスピーカーの ID を取得します。
virtual String GetCurrentAudioPlayerID() = 0;戻り値
現在のオーディオ再生デバイスの ID。
SetCurrentAudioPlayerName
名前でスピーカーを選択します。
virtual int SetCurrentAudioPlayerName(const char* playerName) = 0;戻り値
オーディオ再生デバイス名。
SetCurrentAudioPlayerID
ID でスピーカーを選択します。
virtual int SetCurrentAudioPlayerID(const char* playerID) = 0;パラメーター
名前 | タイプ | 説明 |
playerID | const char * | 再生デバイス ID。 |
戻り値
成功の場合は 0、失敗の場合はその他の値。
SetRecordingDeviceVolume
音声収集デバイスの音量を設定します。音量範囲は [0, 100] です。
virtual int SetRecordingDeviceVolume(int volume) = 0;パラメーターリスト
名前 | タイプ | 説明 |
volume | int | 音量 [0..100]。 |
戻り値
成功の場合は 0、失敗の場合はその他の値。
GetRecordingDeviceVolume
音声収集デバイスの音量を取得します。
virtual int GetRecordingDeviceVolume() = 0;戻り値
>=0 は音量を返します。その他の値は失敗を示します。
SetPlaybackDeviceVolume
オーディオ再生デバイスの音量を設定します。音量範囲は [0, 100] です。
virtual int SetPlaybackDeviceVolume(int volume) = 0;パラメーター
名前 | タイプ | 説明 |
volume | int | 音量 [0..100] |
戻り値
成功の場合は 0、失敗の場合はその他の値。
GetPlaybackDeviceVolume
オーディオ再生デバイスの音量を取得します。
virtual int GetPlaybackDeviceVolume() = 0;戻り値
システムボリュームの場合は >=0。失敗の場合はその他の値。
SetRecordingDeviceMute
音声収集デバイスをミュートします。
virtual int SetRecordingDeviceMute(bool mute) = 0;パラメーター
名前 | タイプ | 説明 |
mute | bool | 録音をミュートするかどうか。 |
戻り値
成功の場合は 0、失敗の場合はその他の値。
GetRecordingDeviceMute
音声収集デバイスのミュート状態を取得します。
virtual bool GetRecordingDeviceMute() = 0;戻り値
録音がミュートされているかどうか。
SetPlaybackDeviceMute
オーディオ再生デバイスをミュートします。
virtual int SetPlaybackDeviceMute(bool mute) = 0;パラメーター
名前 | タイプ | 説明 |
mute | bool | 録音をミュートするかどうか。 |
戻り値
成功の場合は 0、失敗の場合はその他の値。
GetPlaybackDeviceMute
オーディオ再生デバイスのミュート状態を取得します。
virtual bool GetPlaybackDeviceMute() = 0;戻り値
再生デバイスがミュートされているかどうか。
SetAudioEffectVoiceChangerMode
ボイスチェンジエフェクトモードを設定します。
virtual int SetAudioEffectVoiceChangerMode(const AliEngineAudioEffectVoiceChangerMode &mode) = 0;パラメーター
名前 | タイプ | 説明 |
mode | モード値。デフォルト値は AliEngineAudioEffectVoiceChangerOff です。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SetAudioEffectPitchValue
ピッチパラメーターを設定します。
virtual int SetAudioEffectPitchValue(double value) = 0;パラメーター
名前 | タイプ | 説明 |
value | double | 範囲は [0.5, 2.0] です。デフォルトは 1.0 で、ピッチは変更されません。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SetAudioEffectReverbMode
リバーブエフェクトモードを設定します。
virtual int SetAudioEffectReverbMode(const AliEngineAudioEffectReverbMode& mode) = 0;パラメーター
名前 | タイプ | 説明 |
mode | 効果音モード。デフォルト値は AliEngineAudioEffectReverbOff です。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SetAudioEffectReverbParamType
リバーブエフェクトのタイプと特定のパラメーターを設定します。
virtual int SetAudioEffectReverbParamType(const AliEngineAudioEffectReverbParamType& type,
float value) = 0;パラメーター
名前 | タイプ | 説明 |
type | 効果音のリバーブモード。 | |
value | float | 特定のパラメーター値。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
setAudioEffectBeautifyMode
プリセットの美声エフェクトモードを設定します。
virtual int SetAudioEffectBeautifyMode(const AliEngineAudioEffectBeautifyMode& mode) = 0;このメソッドは、SDK 内のプリセットの美声モードを設定します。音声ライブストリーミング、カラオケ、音声ソーシャルネットワーキングなど、人の声の質を美しくする必要があるシナリオに適しています。さまざまな美声モードを選択することで、人の声の聴覚効果を変更できます。たとえば、磁性を高めたり、明瞭度を向上させたりできます。これにより、リモートユーザーのリスニング体験が向上します。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。
パラメーター
パラメーター | タイプ | 説明 |
mode | 美声エフェクトモード。詳細については、列挙定義をご参照ください。 |
戻り値
0:設定は成功しました。
0 以外の値:設定は失敗しました。
setAudioEffectEqualizationParam
オーディオイコライザー (EQ) パラメーターを設定して、指定された周波数帯のゲインを調整します。
virtual int SetAudioEffectEqualizationParam(const AliEngineAudioEffectEqualizationBandFrequency &bandIndex, float gain) = 0;このメソッドは、グラフィックイコライザーを使用して、ローカルで収集された人の声またはオーディオ信号を調整します。10 の固定周波数帯のいずれかのゲイン (dB) を調整することで、音色をカスタマイズできます。音声の明瞭度の最適化、人の声の強調、ノイズリダクションの補助などのシナリオに適しています。
イコライザーは、31 Hz から 16 kHz までの全オーディオスペクトルの調整をサポートし、合計 10 の標準周波数帯があります。各帯域のゲイン値は個別に設定でき、範囲は [-15, 15] dB で、デフォルトは 0 dB (強調も減衰もなし) です。
制限事項
イコライザーは、美声モードが有効になる前に単独で使用することはできません。このメソッドは、
setAudioEffectBeautifyModeを呼び出した後に呼び出す必要があります。
パラメーター
パラメーター | タイプ | 説明 |
bandIndex | 調整する周波数帯のインデックス。中心周波数 (31Hz ~ 16kHz) のセグメントに対応します。 | |
gain | float | dB 単位のゲイン値。範囲は [-15, 15] です。 |
レスポンスの説明
0:設定は成功しました。
0 以外の値:設定は失敗しました。
AddExternalAudioStream
外部オーディオストリームを追加します。
virtual int AddExternalAudioStream(const AliEngineExternalAudioStreamConfig& config) = 0;このメソッドは、新しい外部オーディオストリームを追加します。手順は次のとおりです:
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#991b862eb353w" id="08ee3d1ed35jj">AddExternalAudioStream</a>を呼び出して外部オーディオストリームを追加し、外部オーディオストリーム ID を取得します。<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e6cf3f7cef0g6" id="fae817d0f00p3">PushExternalAudioStreamRawData</a>を呼び出して、作成されたオーディオストリームにオーディオデータをプッシュします。通話が終了したら、
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#u27oe" id="3b9a3eb119umh">RemoveExternalAudioStream</a>を呼び出して外部オーディオストリームを削除する必要があります。
チャンネルでカスタム収集されたオーディオをパブリッシュする方法の詳細については、「カスタムオーディオ収集」をご参照ください。
パラメーター
名前 | タイプ | 説明 |
config | AliEngineExternalAudioStreamConfig | 外部オーディオストリームの構成。 |
戻り値
0 より大きい値は、メソッドの呼び出しが成功し、外部オーディオストリーム ID を返すことを示します。その他の値は、メソッドの呼び出しが失敗したことを示します。
PushExternalAudioStreamRawData
外部オーディオストリームデータを入力します。
virtual int PushExternalAudioStreamRawData(int streamId, AliEngineAudioRawData& data) = 0;このメソッドは、指定されたオーディオストリームにデータを渡します。手順は次のとおりです:
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#991b862eb353w" id="3836ac109732c">AddExternalAudioStream</a>API を呼び出して外部オーディオストリームを追加し、外部オーディオストリーム ID を取得します。PushExternalAudioStreamRawDataを呼び出して、作成されたオーディオストリームにオーディオデータを渡します。通話が終了したら、
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#u27oe" id="398ea88d61fn0">RemoveExternalAudioStream</a>を呼び出して外部オーディオストリームを削除する必要があります。
チャンネルでカスタム収集されたオーディオをパブリッシュする方法の詳細については、「カスタムオーディオ収集」をご参照ください。
パラメーター
名前 | タイプ | 説明 |
streamId | int | 外部オーディオストリーム ID。 |
data | オーディオデータ。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SetExternalAudioStreamPublishVolume
外部オーディオストリームのパブリッシュ音量を設定します。
virtual int SetExternalAudioStreamPublishVolume(int streamId, int vol) = 0;パラメーター
名前 | タイプ | 説明 |
streamId | int | 外部オーディオストリーム ID。 |
vol | int | 公開ボリューム。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SetExternalAudioStreamPlayoutVolume
外部オーディオストリームのパブリッシュ音量を設定します。
virtual int SetExternalAudioStreamPlayoutVolume(int streamId, int vol) = 0;パラメーター
名前 | タイプ | 説明 |
streamId | int | 外部オーディオストリーム ID。 |
vol | int | パブリッシングボリューム。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
GetExternalAudioStreamPublishVolume
外部オーディオストリームのパブリッシュ音量を取得します。
virtual int GetExternalAudioStreamPublishVolume(int streamId) = 0;パラメーター
名前 | タイプ | 説明 |
streamId | int | 外部オーディオストリーム ID。 |
戻り値
[0, 100]:パブリッシュ音量。0 未満の値は失敗を示します。
GetExternalAudioStreamPlayoutVolume
外部オーディオストリームの再生音量を取得します。
virtual int GetExternalAudioStreamPlayoutVolume(int streamId) = 0;パラメーター
名前 | タイプ | 説明 |
streamId | int | 外部オーディオストリーム ID。 |
戻り値
[0, 100]:再生音量。0 未満の値は失敗を示します。
RemoveExternalAudioStream
外部オーディオストリームを削除します。
virtual int RemoveExternalAudioStream(int streamId) = 0;このメソッドは、渡された streamId に基づいて対応する外部オーディオストリームを削除します。これは AddExternalAudioStream メソッドに対応します。
呼び出すタイミング
カスタムオーディオ入力機能を使用したい場合は、AddExternalAudioStream メソッドを呼び出してオーディオストリームを追加し、外部オーディオストリーム ID を取得する必要があります。その後、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e6cf3f7cef0g6" id="bdab74f108i1p">PushExternalAudioStreamRawData</a> インターフェイスを呼び出してオーディオデータを SDK に入力できます。カスタムオーディオ入力を停止したい場合は、このインターフェイスを呼び出して対応する外部オーディオストリームを削除し、リソースをクリーンアップします。
パラメーター
名前 | タイプ | 説明 |
streamId | int | オーディオストリーム ID。 |
戻り値
成功の場合は 0、失敗の場合はその他の値。
GetAudioFileInfo
オーディオファイル情報を取得します。
virtual int GetAudioFileInfo(const char *filePath) = 0;これは非同期メソッドです。AliEngineEventListener::OnAudioFileInfo を通じてオーディオファイル情報を取得できます。
パラメーター
名前 | タイプ | 説明 |
filePath | const char * | オーディオファイルのパス。 |
戻り値
0:成功。
0 以外の値:失敗。エラーコードが返されます。
StartAudioAccompany
伴奏のオーディオミキシングを開始します。
virtual int StartAudioAccompany(const char *filePath, const AliEngineAudioAccompanyConfig& config) = 0;これは非同期メソッドです。AliEngineEventListener::OnAudioAccompanyStateChanged を通じてオーディオ伴奏プレーヤーの状態をリッスンできます。
パラメーター
名前 | タイプ | 説明 |
filePath | const char * | オーディオファイルのパス。 |
config | 伴奏再生の構成。 |
戻り値
0:成功。
0 以外の値:失敗。エラーコードが返されます。
StopAudioAccompany
伴奏のオーディオミキシングを停止します。
virtual int StopAudioAccompany() = 0;戻り値
0:成功。
0 以外の値:失敗。エラーコードが返されます。
SetAudioAccompanyVolume
伴奏の音量を設定します。
virtual int SetAudioAccompanyVolume(int volume) = 0;パラメーター
名前 | タイプ | 説明 |
volume | int | 伴奏の音量。範囲は [0,100] です。
|
戻り値
0:成功。
0 以外の値:失敗。エラーコードが返されます。
SetAudioAccompanyPublishVolume
伴奏のパブリッシュ音量を設定します。
virtual int SetAudioAccompanyPublishVolume(int volume) = 0;音量は、AliEngine::StartAudioAccompany が有効になった後にのみ設定できます。
パラメーター
名前 | タイプ | 説明 |
volume | int | 伴奏のパブリッシュ音量。範囲は [0,100] です。
|
戻り値
0:成功。
0 以外の値:失敗。エラーコードが返されます。
GetAudioAccompanyPublishVolume
伴奏のパブリッシュ音量を取得します。
virtual int GetAudioAccompanyPublishVolume() = 0;戻り値
伴奏のパブリッシュ音量。範囲は [0-100] です。
SetAudioAccompanyPlayoutVolume
伴奏のローカル再生音量を設定します。
virtual int SetAudioAccompanyPlayoutVolume(int volume) = 0;パラメーター
名前 | タイプ | 説明 |
volume | int | 伴奏の再生音量。範囲は [0,100] です。
|
戻り値
0:成功。
0 以外の値:失敗。エラーコードが返されます。
GetAudioAccompanyPlayoutVolume
伴奏のローカル再生音量を取得します。
virtual int GetAudioAccompanyPlayoutVolume() = 0;戻り値
伴奏のローカル再生音量。範囲は [0-100] です。
PauseAudioAccompany
伴奏のオーディオミキシングを一時停止します。
virtual int PauseAudioAccompany() = 0;レスポンスの説明
0:成功。
0 以外の値:失敗。エラーコードが返されます。
ResumeAudioAccompany
伴奏のオーディオミキシングを再開します。
virtual int ResumeAudioAccompany() = 0;レスポンスの説明
0:成功。
0 以外の値:失敗。エラーコードが返されます。
GetAudioAccompanyDuration
伴奏ファイルの長さをミリ秒単位で取得します。
virtual int GetAudioAccompanyDuration() = 0;レスポンスの説明
オーディオ伴奏ファイルの長さをミリ秒単位で返します。
GetAudioAccompanyCurrentPosition
伴奏ファイルの再生進捗をミリ秒単位で取得します。
virtual int GetAudioAccompanyCurrentPosition() = 0;戻り値
オーディオ伴奏ファイルの現在の再生位置をミリ秒単位で返します。
SetAudioAccompanyPosition
伴奏ファイルの再生位置を設定します。
virtual int SetAudioAccompanyPosition(int pos) = 0;レスポンスの説明
0:成功。
0 以外の値:失敗。エラーコードが返されます。
PreloadAudioEffect
効果音ファイルをプリロードします。
virtual int PreloadAudioEffect(unsigned int soundId,
const char *filePath) = 0;パラメーター
名前 | タイプ | 説明 |
soundId | unsigned int | ユーザーが効果音ファイルに割り当てた ID。 |
filePath | const char * | 効果音ファイルのパス。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
UnloadAudioEffect
プリロードされた効果音ファイルを削除します。
virtual int UnloadAudioEffect(unsigned int soundId) = 0;パラメーター
名前 | タイプ | 説明 |
soundId | NSInteger | ユーザーが効果音ファイルに割り当てた ID。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
PlayAudioEffect
効果音の再生を開始します。
virtual int PlayAudioEffect(unsigned int soundId, const char *filePath, const AliEngineAudioEffectConfig& config) = 0;パラメーター
名前 | タイプ | 説明 |
soundId | unsigned int | ユーザーが効果音ファイルに割り当てた ID。 |
filePath | const char * | 効果音ファイルのパス。 |
config | AliEngineAudioEffectConfig | 効果音の構成。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
StopAudioEffect
効果音の再生を停止します。
virtual int StopAudioEffect(unsigned int soundId) = 0;パラメーター
名前 | タイプ | 説明 |
soundId | unsigned int | ユーザーが効果音ファイルに割り当てた ID。 |
戻り値
0: メソッドの呼び出しは成功。その他の値: メソッドの呼び出しは失敗。
StopAllAudioEffects
すべての効果音の再生を停止します。
- (int)StopAllAudioEffects;戻り値
0:メソッドの呼び出しは成功です。その他の値:メソッドの呼び出しは失敗です。
PauseAudioEffect
効果音を一時停止します。
virtual int PauseAudioEffect(unsigned int soundId) = 0;パラメーター
名前 | タイプ | 説明 |
soundId | unsigned int | ユーザーが効果音ファイルに割り当てた ID。 |
レスポンスの説明
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
PauseAllAudioEffects
すべての効果音を一時停止します。
virtual int PauseAllAudioEffects() = 0;レスポンスの説明
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
ResumeAudioEffect
効果音の再生を再開します。
virtual int ResumeAudioEffect(unsigned int soundId) = 0;パラメーター
名前 | タイプ | 説明 |
soundId | unsigned int | ユーザーが効果音ファイルに割り当てた ID。 |
レスポンスの説明
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
ResumeAllAudioEffects
すべての効果音の再生を再開します。
virtual int ResumeAllAudioEffects() = 0;戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SetAudioEffectPublishVolume
効果音のパブリッシュ音量を設定します。
virtual int SetAudioEffectPublishVolume(unsigned int soundId, int volume) = 0;パラメーター
名前 | タイプ | 説明 |
soundId | unsigned int | ユーザーが効果音ファイルに割り当てた ID。 |
volume | int | ミキシング音量。範囲は [0,100] です。デフォルト値は 50 です。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
GetAudioEffectPublishVolume
効果音のパブリッシュ音量を取得します。
virtual int GetAudioEffectPublishVolume(unsigned int soundId) = 0;パラメーター
名前 | タイプ | 説明 |
soundId | unsigned int | ユーザーが効果音ファイルに割り当てた ID。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SetAllAudioEffectsPublishVolume
すべての効果音のローカル再生音量を設定します。
virtual int SetAllAudioEffectsPublishVolume(int volume) = 0;パラメーター
名前 | タイプ | 説明 |
volume | int | ミキシング音量。範囲は [0,100] です。デフォルト値は 50 です。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SetAudioEffectPlayoutVolume
効果音のローカル再生音量を設定します。
virtual int SetAudioEffectPlayoutVolume(unsigned int soundId, int volume) = 0;パラメーター
名前 | タイプ | 説明 |
soundId | unsigned int | ユーザーが効果音ファイルに割り当てた ID。 |
volume | int | ミキシング音量。範囲は [0,100] です。デフォルト値は 50 です。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
GetAudioEffectPlayoutVolume
効果音のローカル再生音量を取得します。
virtual int GetAudioEffectPlayoutVolume(unsigned int soundId) = 0;パラメーター
名前 | タイプ | 説明 |
soundId | unsigned int | ユーザーが効果音ファイルに割り当てた ID。 |
レスポンスの説明
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SetAllAudioEffectsPlayoutVolume
すべての効果音の再生音量を設定します。
virtual int SetAllAudioEffectsPlayoutVolume(int volume) = 0;パラメーター
名前 | タイプ | 説明 |
volume | int | ミキシング音量。範囲は [0,100] です。デフォルト値は 50 です。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SetAllAudioEffectsPublishVolume
すべての効果音のパブリッシュ音量を設定します。
virtual int SetAllAudioEffectsPublishVolume(int volume) = 0;パラメーター
名前 | タイプ | 説明 |
volume | int | ミキシング音量。範囲は [0,100] です。デフォルト値は 50 です。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SetLocalViewConfig
ローカルプレビューのレンダリングウィンドウと描画パラメーターを設定します。
virtual int SetLocalViewConfig(AliEngineVideoCanvas renderConfig,
AliEngineVideoTrack track) = 0;このメソッドは、ローカルプレビュービューを設定します。ローカルビデオストリームの表示ビューをバインドし、ローカルユーザーのビューのレンダリングモード、ミラーモード、回転角度を設定します。これはローカルユーザーのプレビューにのみ影響し、パブリッシュされたビデオには影響しません。リモートユーザーのビューを設定するには、SetRemoteViewConfig を呼び出します。
AliEngineVideoCanvas の view パラメーターが空の場合、レンダリングは停止します。
再生中に AliEngineVideoCanvas の renderMode パラメーターをリセットするには、他のパラメーターを変更せずに renderMode のみを変更します。
再生中に AliEngineVideoCanvas の mirrorMode パラメーターをリセットするには、他のパラメーターを変更せずに mirrorMode のみを変更します。
ローカルプレビューを開始するには、明示的に StartPreview() を呼び出すことを推奨します。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。
パラメーター
名前 | タイプ | 説明 |
renderConfig | レンダリングウィンドウやレンダリング方法などのレンダリングパラメーター。 | |
track | ビデオトラックのタイプ。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SetCameraCapturerConfiguration
カメラ収集のプリファレンスを設定します。
virtual int SetCameraCapturerConfiguration(const AliEngineCameraCapturerConfiguration& config) = 0;このメソッドは、カメラの向きや収集フレームレートなどのカメラ収集プリファレンスを構成します。
呼び出すタイミング
これはカメラを開く前に設定する必要があります。たとえば、次の操作の前に呼び出します:
StartPreview (プレビューを開始)
JoinChannel (チャンネルに参加)
パラメーター
名前 | タイプ | 説明 |
config | カメラの向きとフレームレートを含むカメラ収集プリファレンス。デフォルト値:
上記の -1 の値は、SDK の内部デフォルト設定を使用することを示します。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
EnableLocalVideo
ローカルビデオ収集を無効または再度有効にします。
virtual int EnableLocalVideo(bool enabled) = 0;このメソッドは、ローカルビデオ収集の有効化と無効化を制御します。ローカルビデオ収集が無効になっている場合、ローカルプレビューとパブリッシュされたストリームの両方にビデオデータはありませんが、これはリモートビデオの受信には影響しません。このメソッドを呼び出してローカルカメラ収集を無効にすると、ローカルプレビューとリモートパブリッシュされたストリームの両方が最後のフレームで停止します。
ローカルビデオ収集は SDK でデフォルトで有効になっています。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。
関連するコールバック
このメソッドの呼び出しが成功した後、OnUserVideoEnabled コールバックがリモートユーザーに通知します。
パラメーター
名前 | タイプ | 説明 |
enable | bool | true:通常の操作を再開します。false:ビデオ収集を停止します。デフォルトは true です。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
MuteLocalCamera
ローカルビデオデータの送信を停止または再開します。
virtual int MuteLocalCamera(bool mute, AliEngineVideoTrack track) = 0;ストリームをパブリッシュするときに、このメソッドを呼び出してオールブラックのビデオフレームをパブリッシュできます。ローカルプレビューは正常に表示され、収集、エンコーディング、送信モジュールは引き続き動作しますが、ビデオコンテンツはブラックフレームで構成されます。
このメソッドは、指定されたビデオストリームでブラックフレームを送信するかどうかのみを制御します。収集とデータ送信は停止しません。収集を無効にするには、EnableLocalVideo メソッドを使用します。ビデオデータの送信を停止するには、PublishLocalVideoStream メソッドを使用します。
パラメーター
名前 | タイプ | 説明 |
mute | bool | true:ビデオデータのブラックフレームを送信します。false:通常の操作を再開します。デフォルト値は false です。 |
track | パブリッシュ状態を変更する必要があるビデオトラックのタイプ。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
SetRemoteViewConfig
リモートビデオのレンダリングウィンドウと描画パラメーターを設定します。
virtual int SetRemoteViewConfig(AliEngineVideoCanvas renderConfig,
const char *uid,
AliEngineVideoTrack track) = 0;このメソッドは、リモートユーザーからの指定されたビデオストリームの表示ビューをアタッチし、レンダリングモード、ミラーモード、回転角度など、リモートビューのローカル表示のプロパティを設定します。このアクションは、ローカルユーザーが見るビデオ画像にのみ影響します。ローカルプレビュービューを設定するには、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#fbc8ab10f5e03" id="c0f59b8c26y7o">SetLocalViewConfig</a> を呼び出します。
AliEngineVideoCanvas の view パラメーターが空の場合、レンダリングは停止します。
再生中に AliEngineVideoCanvas の renderMode パラメーターをリセットするには、他のパラメーターを変更せずに renderMode のみを変更します。
再生中に AliEngineVideoCanvas の mirrorMode パラメーターをリセットするには、他のパラメーターを変更せずに mirrorMode のみを変更します。
呼び出すタイミング
リモートユーザーのビデオが利用可能になったとき、つまり OnRemoteTrackAvailableNotify コールバックを受信したときにこれを呼び出すことを推奨します。
パラメーター
名前 | タイプ | 説明 |
canvas | レンダリングウィンドウやレンダリング方法などのレンダリングパラメーター。 | |
uid | const char * | ユーザー ID。 |
track | 設定するビデオトラックのタイプ。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
IsCameraOn
カメラがオンになっているかどうかを確認します。
virtual bool IsCameraOn() = 0;戻り値
true:カメラはオンです。false:カメラはオンではありません。
SetVideoEncoderConfiguration
ビデオエンコーディングプロパティを設定します。
virtual void SetVideoEncoderConfiguration(const AliEngineVideoEncoderConfiguration& config) = 0;このメソッドは、解像度、フレームレート、ビットレート、ビデオの向きなど、ビデオストリームエンコーディングプロパティのビデオパラメーターを設定します。すべてのビデオシナリオでこのメソッドを呼び出すことを推奨します。
すべての設定パラメーターには対応する範囲制限があります。設定されたパラメーターが有効範囲外の場合、SDK は自動的に調整します。
呼び出すタイミング
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。セッションごとにカメラストリームのビデオエンコーディングプロパティを一度だけ設定する必要がある場合は、チャンネルに参加する前に呼び出すことを推奨します。
制限事項
このメソッドの `mirrorMode` と setVideoMirrorMode は両方ともビデオパブリッシュミラーを設定できます。どちらか一方のみを使用することを推奨します。複数のメソッドを同時に使用すると、ミラー効果が重なり、ミラー設定が失敗したり、正しくなくなったりする可能性があります。
パラメーター
名前 | タイプ | 説明 |
config | 定義済みのエンコーディングプロパティ。デフォルト値:
|
SetVideoDecoderConfiguration
ビデオデコーディングプロパティを設定します。このメソッドは、ソフトウェアおよびハードウェアデコーディング設定や B フレームを有効にするかどうかなど、カメラストリームのビデオデコーディングプロパティを設定します。
virtual void SetVideoDecoderConfiguration(const AliEngineVideoDecoderConfiguration& config) = 0;呼び出すタイミング
チャンネルに参加してストリームをプルする前にこれを呼び出すことを推奨します。
パラメーター
パラメーター | タイプ | 説明 |
config | ビデオデコーディングプロパティ、主なプロパティ、およびデフォルト値を記述する構造体。 |
StartPreview
ローカルプレビューを開始し、自動的にカメラをオンにします。
virtual int StartPreview(int width = 0, int height = 0) = 0;このメソッドはローカルビデオプレビューを開始し、自動的にカメラをオンにします。ローカルプレビューを停止するには、StopPreview メソッドを呼び出します。
LeaveChannel を使用してチャンネルを退出すると、ローカルプレビューが自動的に停止します。カメラストリームがパブリッシュされていない場合、カメラは自動的にオフになります。
呼び出すタイミング
このメソッドを呼び出す前に、SetLocalViewConfig を通じてローカルプレビューのビューを設定する必要があります。そうしないと、ビデオをプレビューできませんが、パブリッシュには影響しません。
必要に応じて、JoinChannel でチャンネルに参加する前にこのメソッドを呼び出してプレビューを開始し、カメラを自動的にオンにすることができます。
レスポンスの説明
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
StopPreview
ローカルプレビューを停止します。
virtual int StopPreview() = 0;このメソッドはローカルビデオプレビューを閉じ、カメラをオフにします。プレビューを停止した後、ローカルエンドは最後のフレームで停止しますが、パブリッシュには影響しません。
LeaveChannel を使用してチャンネルを退出すると、ローカルプレビューが自動的に停止します。カメラストリームがパブリッシュされていない場合、カメラは自動的にオフになります。
呼び出すタイミング
プレビューを開始した後に停止するには、このメソッドを呼び出すことができます。
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
setVideoMirrorMode
プレビューとパブリッシュのミラー機能を設定します。
virtual int setVideoMirrorMode(AliEngineVideoPipelineMirrorMode mirrorMode) = 0;このメソッドは、ローカルプレビュービデオとパブリッシュされたビデオストリームにミラーモードを有効にするかどうかを設定します。
このメソッドは SetLocalViewConfig と SetVideoEncoderConfiguration よりも優先度が高いです。ビデオミラーモードを設定するには、このメソッドを呼び出すことを推奨します。
呼び出すタイミング
このメソッドは、チャンネルに参加する前後で動的に設定できます。SDK は状態を記録し、プレビューとエンコーディング (パブリッシュ) が操作可能になったときにビデオを操作します。
制限事項
このメソッドは、SetLocalViewConfig と SetVideoEncoderConfiguration の mirrorMode パラメーターと重複します。このメソッドのみを使用することを推奨します。
パラメーター
名前 | タイプ | 説明 |
mirrorMode | ミラーモードを設定します。 |
戻り値
0:設定は成功しました。
<0:設定は失敗しました。
AliRtcErrInner:内部 SDK 状態エラー。SDK インスタンスが正常に作成されたかどうかを確認してください。
SetCapturePipelineScaleMode
収集スケーリングのタイミングを設定します。ビデオデータは、収集直後またはエンコーディング中にスケーリングされます。
virtual void SetCapturePipelineScaleMode(const AliEngineCapturePipelineScaleMode mode) = 0;このメソッドは、ビデオデータ収集のスケーリングが収集直後に行われるか、エンコーディング中に行われるかを設定します。たとえば、収集解像度がエンコーディング解像度と一致しない場合、スケーリングのタイミングを設定して、プレビューデータとパブリッシュされたデータが一致するかどうかを決定できます。
呼び出すタイミング
このメソッドは、カメラを開く前に設定する必要があります。たとえば、StartPreview でプレビューを開始する前、または JoinChannel でチャンネルに参加する前です。
パラメーター
名前 | タイプ | 説明 |
mode | 収集スケーリングのタイミングを制御するモード。デフォルトは、収集直後にスケーリングします。 |
GetCameraList
カメラリストを取得します。
virtual AliEngineDeviceInfoList* GetCameraList() = 0;戻り値
カメラリストオブジェクトへのポインター、AliEngineDeviceInfoList*。
GetCurrentCameraName
現在使用中のカメラの名前を取得します。
virtual String GetCurrentCameraName() = 0;戻り値
現在使用中のカメラデバイスの名前。
GetCurrentCameraID
現在使用中のカメラの ID を取得します。
virtual String GetCurrentCameraID() = 0;戻り値
現在使用中のカメラの ID。
SetCurrentCameraName
名前でカメラを選択します。
virtual int SetCurrentCameraName(const char* cameraName) = 0;パラメーター
名前 | タイプ | 説明 |
cameraName | const char * | デバイス名。 |
戻り値
成功の場合は 0、失敗の場合はその他の値。
SetCurrentCameraID
ID でカメラを選択します。
virtual int SetCurrentCameraID(const char* cameraID) = 0;パラメーター
名前 | タイプ | 説明 |
cameraID | const char * | デバイス ID。 |
戻り値
成功の場合は 0、失敗の場合はその他の値。
GetCurrentCameraSupportedResolutionList
サポートされている解像度を取得します。
virtual AliEngineVideoResolutionList * GetCurrentCameraSupportedResolutionList(int source) = 0 ;パラメーター
名前 | タイプ | 説明 |
source | int | デバイスタイプ。 |
戻り値
値が NULL でない場合、サポートされている解像度のリストを取得します。NULL は失敗を示します。
SetExternalVideoSource
外部ビデオ入力ソースを有効にします。
virtual int SetExternalVideoSource(bool enable,
AliEngineVideoTrack type,
AliEngineRenderMode renderMode) = 0;パラメーター
名前 | タイプ | 説明 |
enable | bool | true:有効にします。false:無効にします。 |
type | ストリームタイプ。 | |
renderMode | レンダリングモード。 |
PushExternalVideoFrame
ビデオデータを入力します。
virtual int PushExternalVideoFrame(const AliEngineVideoRawData &frame,
AliEngineVideoTrack type) = 0;パラメーター
名前 | タイプ | 説明 |
frame | フレームデータ。 | |
type | ストリームタイプ。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
StartPublishLiveStream
バイパスライブストリーミングを開始します。
virtual int StartPublishLiveStream(const String& streamURL, const AliEngineLiveTranscodingParam &transcoding) = 0;パラメーター
名前 | タイプ | 説明 |
streamUrl | const String | アップストリーミング URL。 |
transcoding | アップストリーミングに必要なパラメーター。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
UpdatePublishLiveStream
更新はライブストリームパラメーターをバイパスします。
virtual int UpdatePublishLiveStream(const String& streamURL, const AliEngineLiveTranscodingParam &transcoding) = 0;パラメーター
名前 | タイプ | 説明 |
streamUrl | const String | アップストリーミング URL。 |
transcoding | アップストリーミングに必要なパラメーター。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
StopPublishLiveStream
バイパスライブストリームを停止します。
virtual int StopPublishLiveStream(const String& streamURL) = 0;パラメーター
名前 | タイプ | 説明 |
streamURL | const String | アップストリーミング URL。 |
レスポンスの説明
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
GetPublishLiveStreamState
バイパスライブストリームのステータスを取得します。
virtual AliEngineLiveTranscodingState GetPublishLiveStreamState(const String& streamURL) = 0;パラメーター
パラメーター | タイプ | 説明 |
streamURL | const String | アップストリーミング URL。 |
レスポンスの説明
バイパスライブストリーミングのステータスを返します。
StartLastmileDetect
ネットワーク品質検出を開始します。一部のオンプレミスネットワークの問題により、音声およびビデオ通話が失敗する可能性があります。このメソッドを呼び出すことで、上りおよび下りネットワーク帯域幅、パケット損失率、ジッター、リンク RTT などの情報を取得して、関連するネットワーク問題の特定と解決に役立てることができます。
virtual int StartLastmileDetect(bool uplink, bool downlink, int uplinkBandWidth, int downlinkBandWidth) = 0;呼び出すタイミング
このメソッドは JoinChannel の前に呼び出す必要があります。検出結果はコールバックを通じて提供されます。ネットワーク検出には時間がかかる場合があります。必要に応じて StopLastmileDetect を呼び出してネットワーク検出を停止できます。
制限事項
SDK は一度に 1 つのネットワーク検出しか実行できません。前回の検出が完了する前に繰り返し呼び出しても無効です。
関連するコールバック
このメソッドの呼び出しが成功すると、2 つのコールバックがトリガーされます:
OnLastmileDetectResultWithQuality:このコールバックは約 3 秒でトリガーされ、ネットワーク品質レベルを大まかに判断します。
OnLastmileDetectResultWithBandWidth:このコールバックは約 30 秒でトリガーされ、詳細な検出結果を提供します。
パラメーター
パラメーター | タイプ | 説明 |
uplink | bool | アップリンクを検出するかどうか。 |
downlink | bool | ダウンリンクを検出するかどうか。 |
uplinkBandWidth | int | アップリンク検出の最大帯域幅。 |
downlinkBandWidth | int | ダウンリンク検出の最大帯域幅。 |
戻り値
0:メソッドの呼び出しは成功しました。
<0:メソッドの呼び出しは失敗しました。たとえば、すでにチャンネルに参加している場合に発生する可能性があります。
StopLastmileDetect
ネットワーク品質検出を停止します。このメソッドを呼び出してネットワーク品質検出を停止します。
virtual int StopLastmileDetect() = 0;呼び出すタイミング
エンジンを作成した後、チャンネルに参加する前にこのメソッドを呼び出すことができます。
戻り値
0:このメソッドは正常に呼び出されました。
<0:このメソッドの呼び出しは失敗しました。
SendMediaExtensionMsg
メディア拡張情報を送信します。これは内部的に SEI を使用して実装されます。
virtual int SendMediaExtensionMsg(const int8_t * message, uint32_t length, int32_t repeatCount, uint32_t delay, bool isKeyFrame) = 0;SDK は、メディア拡張情報の送受信機能を提供します。受信側は AliEngineEventListener::OnMediaExtensionMsgReceived を参照します。メディア拡張情報を使用する場合、音声およびビデオデータチャンネルを再利用する必要があるため、カスタムメッセージの送信頻度とデータ長を制御する必要があります。使用制限は次のとおりです:
プロファイルで設定された fps メッセージを 1 秒あたり最大で送信します。
メディアデータの伝送品質に影響を与えないように、カスタムメッセージ本文の長さは 4 KB に制限されており、少量のデータを送信するために使用できます。
sendMediaExtensionMsg 関数の repeatCount パラメーターは、カスタムメッセージの冗長性です。1 より大きい場合、ネットワークのパケット損失によるメッセージ損失を防ぐために複数回送信されます。この場合、ルーム内の他の人も同じメッセージを複数回受信するため、重複を削除する必要があります。
カスタムメッセージが送信されると、ルーム内のサブスクライバーもバイパスライブストリーミング中にそれを受信します。-1 に設定すると、sendMediaExtensionMsg が再度呼び出されない限り、データが永続的に送信されることを意味します。
一度に 1 つの sendMediaExtensionMsg のみが送信されます。つまり、sendMediaExtensionMsg を呼び出すと、前の呼び出しが送信されていないか完了していない場合、前の呼び出しが上書きされます。
パラメーター
名前 | タイプ | 説明 |
message | const int8_t * | 拡張情報の内容。最大長は 4 KB です。 |
length | uint32_t | 拡張情報の長さ。最大長は 4 KB (4 × 1024 バイト) です。 |
repeatCount | int32_t | 繰り返しの回数。メッセージの冗長性を表し、ネットワークのパケット損失によるメッセージ損失を防ぐために使用されます。-1 は、SendMediaExtensionMsg が再度呼び出されない限り、無限に再送信することを意味します。 |
delay | uint32_t | SEI を送信する前の遅延 (ミリ秒単位)。SEI はエンコードされた h264/h265 ストリームにアタッチされるため、実際の遅延は設定された遅延よりもわずかに長くなります。 |
isKeyFrame | bool | SEI をキーフレームにのみ追加するかどうか。true に設定すると、SEI 情報はキーフレームにのみ追加されます。 |
戻り値
0:成功。
<0:失敗。エラーコードが返されます。
ERR_INNER(-1):内部 SDK エラー。SDK が初期化されていないか、破棄された後に呼び出された場合に発生する可能性があります。
SendMediaExtensionMsgEx
メディア拡張情報を送信します。これは内部的に SEI を使用して実装されます。
virtual int SendMediaExtensionMsgEx(const int8_t * message, uint32_t length, int32_t repeatCount, uint32_t delay, bool isKeyFrame, int32_t payloadType) = 0;SDK は、メディア拡張情報の送受信機能を提供します。受信側は AliEngineEventListener::OnMediaExtensionMsgReceived を参照します。メディア拡張情報を使用する場合、音声およびビデオデータチャンネルを再利用する必要があるため、カスタムメッセージの送信頻度とデータ長を制御する必要があります。使用制限は次のとおりです:
プロファイルで設定された fps メッセージを 1 秒あたり最大で送信します。
メディアデータの伝送品質に影響を与えないように、カスタムメッセージ本文の長さは 4 KB に制限されており、少量のデータを送信するために使用できます。
sendMediaExtensionMsg 関数の repeatCount パラメーターは、カスタムメッセージの冗長性です。1 より大きい場合、ネットワークのパケット損失によるメッセージ損失を防ぐために複数回送信されます。この場合、ルーム内の他の人も同じメッセージを複数回受信するため、重複を削除する必要があります。
カスタムメッセージが送信されると、ルーム内のサブスクライバーもバイパスライブストリーミング中にそれを受信します。-1 に設定すると、sendMediaExtensionMsg が再度呼び出されない限り、データが永続的に送信されることを意味します。
一度に 1 つの sendMediaExtensionMsg のみが送信されます。つまり、sendMediaExtensionMsg を呼び出すと、前の呼び出しが送信されていないか完了していない場合、前の呼び出しが上書きされます。
パラメーター
名前 | タイプ | 説明 |
message | const int8_t * | 拡張情報の内容。最大長は 4 KB です。 |
length | uint32_t | 拡張情報の長さ。最大長は 4 KB (4 × 1024 バイト) です。 |
repeatCount | int32_t | 繰り返しの回数。メッセージの冗長性を表し、ネットワークのパケット損失によるメッセージ損失を防ぐために使用されます。-1 は、SendMediaExtensionMsg が再度呼び出されない限り、無限に再送信することを意味します。 |
delay | uint32_t | SEI を送信する前の遅延 (ミリ秒単位)。SEI はエンコードされた h264/h265 ストリームにアタッチされるため、実際の遅延は設定された遅延よりもわずかに長くなります。 |
isKeyFrame | bool | SEI をキーフレームにのみ追加するかどうか。true に設定すると、SEI 情報はキーフレームにのみ追加されます。 |
payloadType | int32_t | データ型フィールド。payload=5 payload=[100..254]。 |
戻り値
0:成功。
<0:失敗。エラーコードが返されます。
ERR_INNER(-1):内部 SDK エラー。SDK が初期化されていないか、破棄された後に呼び出された場合に発生する可能性があります。
OnConnectionStatusChange
ネットワーク接続ステータスの変更に関するコールバック。
virtual void OnConnectionStatusChange(int status, int reason) {};パラメーター
パラメーター | タイプ | 説明 |
status | 現在のステータス値。 | |
reason | ステータス変更の具体的な理由。 |
OnLocalDeviceException
オンプレミスデバイスの例外に関するコールバック。お客様はこのコールバックに注意を払う必要があります。
virtual void OnLocalDeviceException(AliEngineLocalDeviceType deviceType, AliEngineLocalDeviceExceptionType exceptionType, const char* msg){};パラメーター
パラメーター | タイプ | 説明 |
deviceType | AliEngineLocalDeviceType | デバイスタイプ。 |
exceptionType | AliEngineLocalDeviceExceptionType | デバイス例外タイプ。 |
msg | const char* | 例外に伴う情報。 |
OnAuthInfoWillExpire
ユーザー認証情報がまもなく期限切れになるという通知。この通知を受信してから 30 秒後に認証が期限切れになります。お客様はこのコールバックに注意を払う必要があります。
virtual void OnAuthInfoWillExpire() {};このコールバックは、ユーザーの認証情報がまもなく期限切れになることを示します。このコールバックを受信してから 30 秒後に認証が期限切れになります。新しいトークンを取得し、次のいずれかの方法で認証情報を更新する必要があります:
RefreshAuthInfoメソッドを呼び出して認証情報を更新します。LeaveChannelを呼び出して現在のチャンネルから退出した後、JoinChannelを呼び出してチャンネルに再参加します。
トリガーされるタイミング
SDK は、ユーザーの認証情報が期限切れになる 30 秒前にこのコールバックをトリガーします。このコールバックを受信したら、速やかに認証情報を更新する必要があります。
OnAuthInfoExpired
ユーザーが認証を必要とするインターフェイスを呼び出し、サーバーが情報が期限切れであると返します。
virtual void OnAuthInfoExpired() {};このコールバックは、ユーザーの認証情報が期限切れになったことを示します。セッションを継続したい場合は、サーバーで新しいトークンを生成し、次の方法で認証情報を更新する必要があります:
LeaveChannelを呼び出して現在のチャンネルから退出した後、JoinChannelを呼び出してチャンネルに再参加します。
トリガーされるタイミング
このコールバックは、ユーザーの認証情報が期限切れになったときにトリガーされます。
OnJoinChannelResult
チャンネルへの参加結果のコールバック。このコールバックは、JoinChannel メソッドを呼び出すブロック操作と同等で、チャンネルに参加した後のイベントを処理します。どちらか一方を選択してください。
virtual void OnJoinChannelResult(int result, const char *channel, const char *userId, int elapsed) {}トリガー条件
アプリケーションが JoinChannel メソッドを呼び出すと、このコールバックはチャンネルに正常に参加できたかどうかを示し、チャンネル参加に関する情報と参加にかかった時間を返します。
パラメーター
パラメーター | タイプ | 説明 |
result | int | チャンネルへの参加結果。成功の場合は 0 が返されます。失敗の場合はエラーコードが返されます。詳細については、「エラーコードリスト」をご参照ください。一般的なエラーコードは次のとおりです:
|
channel | const char * | 参加したチャンネルの ID。 |
userId | const char * | 参加したユーザーの ID。 |
elapsed | int | チャンネルへの参加にかかった時間。 |
OnLeaveChannelResult
チャンネルからの退出結果のコールバック。LeaveChannel メソッドを呼び出した後に返されます。この直後に Destroy を呼び出すと、このコールバックは受信されません。
virtual void OnLeaveChannelResult(int result, AliEngineStats stats) {}トリガー条件
アプリケーションが LeaveChannel を正常に呼び出してチャンネルを退出すると、このコールバックがトリガーされ、退出の結果とこのチャンネルセッションの統計が返されます。
LeaveChannel の直後に Destroy を呼び出してエンジンを破棄すると、このコールバックはトリガーされません。
パラメーター
パラメーター | タイプ | 説明 |
result | int | チャンネルからの退出結果。成功の場合は 0 が返され、失敗の場合はエラーコードが返されます。 |
stats | このチャンネルセッションのデータ統計の概要。 |
OnRemoteUserOffLineNotify
リモートユーザーがオフラインになったときのコールバック。
virtual void OnRemoteUserOffLineNotify(const char *uid, AliEngineUserOfflineReason reason) {}このコールバックは、リモートユーザーがさまざまな理由でチャンネルを退出したことをローカルユーザーに通知します。リモートユーザーがオフラインになると、このメソッドがトリガーされます。
トリガー条件
リモートユーザーが積極的にチャンネルを退出したときにコールバックがトリガーされます。
リモートストリーマーが
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#c99c2b257dd8o" id="03e45f655fcxx">SetClientRole</a>を呼び出してロールを視聴者 (AliEngineClientRoleLive に設定) に切り替えたときにコールバックがトリガーされます。リモートストリーマーから長時間データが受信されず、ドロップしたと見なされたときにコールバックがトリガーされます。
パラメーター
パラメーター | タイプ | 説明 |
uid | const char * | App サーバーからユーザー ID に割り当てられた一意の識別子。 |
reason | ユーザーがオフラインになった理由。 |
OnRemoteUserOnLineNotify
リモートユーザーがオンラインになったときのコールバック。
virtual void OnRemoteUserOnLineNotify(const char *uid, int elapsed) {}このメソッドは、リモートユーザーがチャンネルに参加したことをローカルクライアントに通知します。
トリガー条件
リモートユーザーが正常にチャンネルに参加しました。
現在のユーザーがチャンネルに参加した後、すでにチャンネルにいるユーザーの参加コールバックを受信します。これは、以前に参加したユーザーを表示するために使用されます。
パラメーター
パラメーター | タイプ | 説明 |
uid | const char * | App サーバーからユーザー ID に割り当てられた一意の識別子。 |
elapsed | int | ユーザーがチャンネルに参加するのにかかった時間。 |
OnRemoteTrackAvailableNotify
リモートユーザーのストリームが変更されたときのコールバック。
virtual void OnRemoteTrackAvailableNotify(const char *uid,
AliEngineAudioTrack audioTrack,
AliEngineVideoTrack videoTrack) {}このコールバックは、リモートユーザーのパブリッシュ状態が変更されたときにトリガーされます。このコールバックを通じて、リモートユーザーが音声およびビデオストリームをパブリッシュしているかどうかをリアルタイムで知ることができます。その後、UI 上でリモートユーザーの音声およびビデオ情報を表示または非表示にすることができます。
トリガー条件
このコールバックは、次のシナリオでトリガーされます:
リモートユーザーがパブリッシュしていない状態からパブリッシュする状態に変わったとき (音声とビデオを含む)。
リモートユーザーがパブリッシュしている状態からパブリッシュしていない状態に変わったとき (音声とビデオを含む)。
インタラクティブストリームモードで、リモートユーザーが SetClientRole を呼び出して視聴者からストリーマーに切り替え、パブリッシュも設定した場合、このコールバックがトリガーされます。
ビデオを例にとると、リモートユーザーがパブリッシュしないように設定されているとします。その場合、このコールバックはトリガーされません。
リモートユーザーがカメラストリームのパブリッシュを開始すると (パブリッシュ状態:ビデオストリームなし -> カメラストリームのみ)、ローカルコールバックは
AliEngineVideoTrackCameraを返し、リモートユーザーのカメラストリームが利用可能であることを示します。リモートユーザーが画面共有ストリームもパブリッシュすると (パブリッシュ状態:カメラストリームのみ -> カメラストリームと画面共有ストリーム)、ローカルコールバックは
AliEngineVideoTrackBothを返し、リモートユーザーのカメラストリームと画面共有ストリームの両方が利用可能であることを示します。リモートユーザーがカメラストリームのパブリッシュを停止し、画面共有ストリームのみを維持すると (パブリッシュ状態:カメラストリームと画面共有ストリーム -> 画面共有ストリームのみ)、ローカルコールバックは
AliEngineVideoTrackScreenを返し、現在画面共有ストリームのみが利用可能であることを示します。リモートユーザーが画面共有ストリームのパブリッシュを停止すると (パブリッシュ状態:画面共有ストリームのみ -> ビデオストリームなし)、ローカルコールバックは
AliEngineVideoTrackNoを返し、現在ビデオストリームが利用できないことを示します。
このコールバックはリモートユーザーのパブリッシュステータスを返します。この変更でどのストリームがオフラインになったかを知るには、コールバックの前後の状態変更を記録する必要があります。
パラメーター
パラメーター | タイプ | 説明 |
uid | const char * | App サーバーからユーザー ID に割り当てられた一意の識別子。 |
audioTrack | 変更後のリモートユーザーのオーディオストリーム。 | |
videoTrack | 変更後のリモートユーザーのビデオストリーム。 |
OnBye
ユーザーがサーバーによってキックアウトされたり、チャンネルが閉じられたりした場合のコールバック。
virtual void OnBye(int code) {}ユーザーが何らかの理由で切断されたり、チャンネルが閉じられたりすると、このコールバックがトリガーされます。コールバックパラメーター code を使用して切断の理由を特定し、それに応じて処理できます。
トリガー条件
現在のユーザーがサーバーによってキックアウトされました。
チャンネルが閉じられました (サーバーが積極的にチャンネルを削除しました)。
受動的な退出。クライアントがセッションを復元または再接続しようとする必要があります。
パラメーター
パラメーター | タイプ | 説明 |
code | int | メッセージタイプ。値:
|
OnAudioPublishStateChanged
オーディオパブリッシュの変更に関するコールバック。
virtual void OnAudioPublishStateChanged(AliEnginePublishState oldState, AliEnginePublishState newState, int elapseSinceLastState, const char *channel) {};このコールバックは、ローカルユーザーのオーディオストリームのパブリッシュ状態の変更をリッスンします。
トリガー条件
ユーザーのオーディオパブリッシュ状態が変更されたとき、たとえば:
パブリッシュを停止します。
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#c99c2b257dd8o" id="904fc4e83a35n">SetClientRole</a>を呼び出して視聴者に切り替えます。
パラメーター
パラメーター | タイプ | 説明 |
oldState | 以前のパブリッシュ状態。 | |
newStat | 現在のパブリッシュ状態。 | |
elapseSinceLastState | int | 状態変更からの時間間隔 (ミリ秒単位)。 |
channel | const char * | 現在のチャンネル ID。 |
OnAudioSubscribeStateChanged
オーディオサブスクリプションの変更に関するコールバック。
virtual void OnAudioSubscribeStateChanged(const char *uid,
AliEngineSubscribeState oldState,
AliEngineSubscribeState newState,
int elapseSinceLastState,
const char *channel) {};このコールバックは、リモートユーザーのオーディオストリームのサブスクリプション状態の変更をローカルユーザーに通知します。このコールバックを通じて、リモートユーザーのカメラストリームのサブスクリプション状態の変更と、前の状態から現在の状態までの時間間隔を知ることができます。
パラメーター
パラメーター | タイプ | 説明 |
uid | NSString *_Nonnull | サブスクリプションが変更されたユーザー ID。 |
oldState | 以前のサブスクリプション状態。 | |
newState | 現在のサブスクリプション状態。 | |
elapseSinceLastState | int | 状態変更からの時間間隔 (ミリ秒単位)。 |
channel | const char * | 現在のチャンネル ID。 |
OnUserAudioMuted
ユーザーがオーディオをミュートしたことの通知。
virtual void OnUserAudioMuted(const char* uid, bool isMute) {}パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | MuteAudio を実行したユーザーのユーザー ID。 |
isMute | bool | true:ミュート。false:ミュート解除。 |
OnUserAudioInterruptedBegin
ユーザーの音声が中断されたという通知。これは通常、電話などの音声が優先されるシナリオで発生します。
virtual void OnUserAudioInterruptedBegin(const char* uid) {}パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | 音声が中断されたユーザーのユーザー ID。 |
OnUserAudioInterruptedEnded
ユーザーの音声中断が終了したという通知。これは OnUserAudioInterruptedBegin に対応します。
virtual void OnUserAudioInterruptedEnded(const char* uid) {}パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | 音声中断が終了したユーザーのユーザー ID。 |
OnVideoPublishStateChanged
ビデオパブリッシュの変更に関するコールバック。
virtual void OnVideoPublishStateChanged(AliEnginePublishState oldState, AliEnginePublishState newState, int elapseSinceLastState, const char *channel) {};このコールバックは、ローカルユーザーのビデオパブリッシュ状態の変更をリッスンします。
パラメーター
パラメーター | タイプ | 説明 |
oldState | 以前のパブリッシュ状態。 | |
newState | 現在のパブリッシュ状態。 | |
elapseSinceLastState | int | 状態変更からの時間間隔 (ミリ秒単位)。 |
channel | const char * | 現在のチャンネル ID。 |
OnVideoSubscribeStateChanged
カメラストリームのサブスクリプション変更に関するコールバック。
virtual void OnVideoSubscribeStateChanged(const char *uid,
AliEngineSubscribeState oldState,
AliEngineSubscribeState newState,
int elapseSinceLastState,
const char *channel) {};このコールバックは、リモートユーザーのカメラストリームのサブスクリプション状態の変更をローカルユーザーに通知します。このコールバックを通じて、リモートユーザーのカメラストリームのサブスクリプション状態の変更と、前の状態から現在の状態までの時間間隔を知ることができます。
関連するコールバック
ビデオストリームには、主にカメラストリームと画面共有ストリームが含まれます。このメソッドは、カメラストリームのサブスクリプション状態の変更に関するものです。画面共有ストリームに関連するコールバックメソッドは OnScreenShareSubscribeStateChanged です。
パラメーター
パラメーター | タイプ | 説明 |
uid | const char * | サブスクリプションが変更されたユーザー ID。 |
oldState | 以前のサブスクリプション状態。 | |
newState | 現在のサブスクリプション状態。 | |
elapseSinceLastState | int | 状態変更からの時間間隔 (ミリ秒単位)。 |
channel | const char * | 現在のチャンネル ID。 |
OnUserVideoMuted
ユーザーがビデオをミュートしたことの通知。
virtual void OnUserVideoMuted(const char* uid, bool isMute) {}パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | muteVideo を実行したユーザーのユーザー ID。 |
isMute | bool | true:ブラックフレームをパブリッシュ。false:通常のパブリッシュ。 |
OnUserVideoEnabled
ローカルビデオ収集が無効または再度有効になったことの通知。
virtual void OnUserVideoEnabled(const char* uid, bool isEnable) {}パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | EnableLocalVideo を実行したユーザーのユーザー ID。 |
isMute | bool | true:カメラストリームの収集はオンです。false:カメラストリームの収集はオフです。 |
OnUserWillResignActive
リモートユーザーのアプリケーションがバックグラウンドに移動したときのコールバック。
virtual void OnUserWillResignActive(const char* uid) {}パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | アプリケーションがバックグラウンドに移動したユーザーのユーザー ID。 |
OnUserWillBecomeActive
リモートユーザーのアプリケーションがフォアグラウンドに戻ったときのコールバック。
virtual void OnUserWillBecomeActive(const char* uid) {}パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | アプリケーションがフォアグラウンドに戻ったユーザーのユーザー ID。 |
OnStats
リアルタイムデータコールバック。2 秒ごとにトリガーされます。
virtual void OnStats(const AliEngineStats& stats) {}パラメーター
パラメーター | タイプ | 説明 |
stats | データコールバック。 |
OnLocalVideoStats
ローカルビデオ統計。2 秒ごとにトリガーされます。
virtual void OnLocalVideoStats(const AliEngineLocalVideoStats& localVideoStats);パラメーター情報
パラメーター | タイプ | 説明 |
localVideoStats | const AliEngineLocalVideoStats& | ビットレート、フレームレート、その他の情報を含むローカルビデオ統計。 |
OnRemoteVideoStats
リモートビデオ統計。2 秒ごとにトリガーされます。
virtual void OnRemoteVideoStats(const AliEngineRemoteVideoStats& remoteVideoStats);パラメーター情報
パラメーター | タイプ | 説明 |
remoteVideoStats | const AliEngineRemoteVideoStats& | リモートユーザー ID、フレームレート、スタッタリング、その他の情報を含むリモートビデオ統計。 |
OnLocalAudioStats
ローカルオーディオ統計。2 秒ごとにトリガーされます。
virtual void OnLocalAudioStats(const AliEngineLocalAudioStats& localAudioStats);パラメーター情報
パラメーター | タイプ | 説明 |
localAudioStats | const AliEngineLocalAudioStats& | サンプルレート、サウンドチャンネル数などを含むローカルオーディオ統計。 |
OnRemoteAudioStats
リモートオーディオ統計。2 秒ごとにトリガーされます。
virtual void OnRemoteAudioStats(const AliEngineRemoteAudioStats& remoteAudioStats);パラメーター情報
パラメーター | タイプ | 説明 |
remoteAudioStats | const AliEngineRemoteAudioStats& | パケット損失率、スタッタリング率などを含むリモートオーディオ統計。 |
OnMediaExtensionMsgReceived
メディア拡張情報受信のコールバック。SendMediaExtensionMsg を通じて一方の端が情報を送信すると、もう一方の端はこのコールバックを通じてデータを受信します。
virtual void OnMediaExtensionMsgReceived(const char* uid, const uint8_t payloadType, const int8_t * message, uint32_t size);sendMediaExtensionMsg を通じて一方の端が情報を送信すると、もう一方の端はこのコールバックを通じてデータを受信します。
パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | 送信ユーザーの userId。 |
payloadType | const uint8_t | ペイロードタイプ。sendMediaExtensionMsg は 5 を返します。sendMediaExtensionMsgEx は特定のタイプを返します。 |
message | const int8_t * | 拡張情報の内容。 |
size | uint32_t | 拡張情報の長さ。 |
OnSnapshotComplete
スクリーンショット結果のコールバック。ユーザーが SnapshotVideo を正常に呼び出すと、スクリーンショット結果がこのコールバックを通じて返されます。
virtual void OnSnapshotComplete(const char* userId, AliEngineVideoTrack videoTrack, void* buffer, int width, int height, bool success);パラメーター
パラメーター | タイプ | 説明 |
userId | const char* | ユーザー ID。どのユーザーのビデオストリームがキャプチャされたかを示します。 |
videoTrack | キャプチャされたビデオのタイプ (カメラストリームや画面共有ストリームなど)。 | |
buffer | void* | 成功した場合、スクリーンショットの画像データを返します。画像形式は RGBA です。失敗した場合は nullptr を返します。 |
width | int | スクリーンショットの幅。 |
height | int | スクリーンショットの高さ。 |
success | bool | スクリーンショットが成功したかどうか。
|
OnLocalAudioStateChange
ローカルオーディオデバイスの状態に関するコールバック。
virtual void OnLocalAudioStateChange(AliEngineLocalAudioStateType state, const char* msg);パラメーター
パラメーター | タイプ | 説明 |
state | 開始中や開始済みなど、現在のオーディオデバイスのステータス。 | |
msg | const char* | デバイスの状態変更の説明。 |
onLocalVideoStateChanged
ローカルビデオデバイスの状態に関するコールバック。
virtual void onLocalVideoStateChanged(AliEngineLocalVideoStateType state, const char* msg);パラメーター
パラメーター | タイプ | 説明 |
state | 開始中や開始済みなど、現在のビデオデバイスのステータス。 | |
msg | const char* | デバイスの状態変更の説明。 |
OnRemoteUserSubscribedDataChannel
データチャンネルメッセージの送信を開始できるコールバック。
virtual void OnRemoteUserSubscribedDataChannel(const char* uid);このメソッドは、リモートユーザーがデータチャンネルをサブスクライブしたときにトリガーされるコールバックです。このコールバックは、指定されたリモートユーザーがカスタムメッセージを受信する準備ができたことをローカルユーザーに通知します。その後、SendDataChannelMessage を安全に呼び出してデータを送信できます。このコールバックは、データチャンネルをサブスクライブしていないターゲットユーザーにメッセージを送信する際のパケット損失や失敗を防ぎ、信頼性の高いメッセージ配信を保証するための重要なメカニズムです。
このコールバックは AI シナリオでのみトリガーされます。
パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | リモートユーザー ID。 |
OnDataChannelMessage
データチャンネルメッセージのコールバック。
virtual void OnDataChannelMessage(const char* uid, const AliEngineDataChannelMsg& msg);ARTC SDK は、カスタムメッセージを送受信する機能を提供します。これにより、音声およびビデオデータを送信しながら、カスタムのリアルタイムメッセージデータを送信できます。たとえば、このメソッドを呼び出して、リアルタイムの制御命令、ステータス同期データ、またはその他のビジネスメッセージを音声およびビデオとともに送信できます。詳細については、「カスタムメッセージの送受信」をご参照ください。
インタラクティブシナリオでは、ストリーマーロールはメッセージを送受信できますが、視聴者ロールはメッセージの受信のみをサポートします。
この機能はデフォルトで無効になっています。この機能を有効にするには、エンジンを作成した後、
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#d78a13ea0e6hy" id="327b69c0ee1wh">SetParameter</a>を呼び出して{\"data\":{\"enablePubDataChannel\":true" + ",\"enableSubDataChannel\":true}}を設定します。
トリガーされるタイミング
送信者が SendDataChannelMessage を呼び出してカスタムメッセージを送信した後、受信者がデータチャンネル機能を有効にしている場合、受信者側でこのコールバックがトリガーされます。
パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | 送信ユーザー ID。 |
msg | const AliEngineDataChannelMsg& | データチャンネルメッセージ。 |
OnCapturedAudioFrame
RAW オーディオ収集データのコールバック。
virtual bool OnCapturedAudioFrame(AliEngineAudioRawData audioRawData) = 0;このコールバックは、現在のデバイスで収集された RAW オーディオデータを取得します。デフォルトでは無効になっています。このオーディオデータを取得するには:
EnableAudioFrameObserver(true,audioSource,config) の audioSource を通じてこのコールバックを有効にします。config パラメーターは、オーディオデータのサンプルレート、サウンドチャンネル数、読み取り/書き込みモードも設定できます。
RegisterAudioFrameObserver を呼び出して、オーディオデータ受信オブジェクトを登録します。
このメソッドは、サンプルレート、サウンドチャンネル数、読み取り/書き込みモードの設定をサポートしています。
パラメーター
パラメーター | タイプ | 説明 |
audioRawData | オーディオデータ。 |
戻り値
true:成功。
false:失敗。
OnProcessCapturedAudioFrame
3A 処理後のデータのコールバック。
virtual bool OnProcessCapturedAudioFrame(AliEngineAudioRawData audioRawData) = 0;このコールバックは、3A 処理後のオーディオデータを取得します。デフォルトでは無効になっています。このオーディオデータを取得するには:
EnableAudioFrameObserver(true,audioSource,config) の audioSource を通じてこのコールバックを有効にします。config パラメーターは、オーディオデータのサンプルレート、サウンドチャンネル数、読み取り/書き込みモードも設定できます。
RegisterAudioFrameObserver を呼び出して、オーディオデータ受信オブジェクトを登録します。
このメソッドは、サンプルレート、サウンドチャンネル数、読み取り/書き込みモードの設定をサポートしています。
パラメーター
パラメーター | タイプ | 説明 |
audioRawData | オーディオデータ。 |
戻り値
true:成功。
false:失敗。
OnPublishAudioFrame
パブリッシュされたデータのコールバック。
virtual bool OnPublishAudioFrame(AliEngineAudioRawData audioRawData) = 0;このコールバックは、パブリッシュされたオーディオデータを取得します。デフォルトでは無効になっています。このオーディオデータを取得するには:
EnableAudioFrameObserver(true,audioSource,config) の audioSource を通じてこのコールバックを有効にします。config パラメーターは、オーディオデータのサンプルレート、サウンドチャンネル数、読み取り/書き込みモードも設定できます。
RegisterAudioFrameObserver を呼び出して、オーディオデータ受信オブジェクトを登録します。
このメソッドは、サンプルレートとサウンドチャンネル数の設定をサポートしていますが、読み取り専用モードにのみ設定できます。
パラメーター
パラメーター | タイプ | 説明 |
audioRawData | オーディオデータ。 |
戻り値
true:成功。
false:失敗。
OnPlaybackAudioFrame
再生データのコールバック。
virtual bool OnPlaybackAudioFrame(AliEngineAudioRawData audioRawData) = 0;このコールバックは、再生オーディオデータを取得します。デフォルトでは無効になっています。このオーディオデータを取得するには:
EnableAudioFrameObserver(true,audioSource,config) の audioSource を通じてこのコールバックを有効にします。config パラメーターは、オーディオデータのサンプルレート、サウンドチャンネル数、読み取り/書き込みモードも設定できます。
RegisterAudioFrameObserver を呼び出して、オーディオデータ受信オブジェクトを登録します。
このメソッドは、サンプルレート、サウンドチャンネル数、読み取り/書き込みモードの設定をサポートしています。
制限事項
このコールバック関数で時間のかかる操作を実行しないでください。そうしないと、音の異常が発生する可能性があります。
パラメーター
パラメーター | タイプ | 説明 |
audioRawData | オーディオデータ。 |
戻り値
true:成功。
false:失敗。
OnRemoteUserAudioFrame
リモートでプルされたストリームデータのコールバック。
virtual bool OnRemoteUserAudioFrame(const char *uid, AliEngineAudioRawData audioRawData) = 0; このコールバックは、プルされている指定されたユーザーのリモートオーディオデータを取得します。デフォルトでは無効になっています。このオーディオデータを取得するには:
EnableAudioFrameObserver(true,audioSource,config) の audioSource を通じてこのコールバックを有効にします。config パラメーターは、オーディオデータのサンプルレート、サウンドチャンネル数、読み取り/書き込みモードも設定できます。
RegisterAudioFrameObserver を呼び出して、オーディオデータ受信オブジェクトを登録します。
このメソッドは、サンプルレートやサウンドチャンネル数の設定をサポートしていませんが、読み取り/書き込みモードを設定できます。
制限事項
このコールバック関数で時間のかかる操作を実行しないでください。そうしないと、音の異常が発生する可能性があります。
パラメーター
パラメーター | タイプ | 説明 |
uid | const char * | リモートユーザー ID。 |
audioRawData | オーディオデータ。 |
戻り値
true:成功。
false:失敗。
OnCaptureVideoSample
ローカルで収集されたビデオデータのコールバック。
virtual bool OnCaptureVideoSample(AliEngineVideoSource videoSource, AliEngineVideoRawData &videoRawData) = 0;このメソッドは、ローカルビデオ収集データを取得するためのコールバックです。ローカルカメラで収集された RAW ビデオフレーム (YUV データなど) を取得するために使用されます。このコールバックを使用して、カスタムビデオ処理ロジック (フィルター、ウォーターマーク、トランスコーディングの追加など) を実装し、処理されたデータを後続のエンコーディングまたはレンダリングのために SDK に返すかどうかを決定できます。処理されたビデオを SDK に送信するには、true を返します。
トリガーされるタイミング
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#0873ceb145h0t" id="c9469a35210sg">RegisterVideoSampleObserver</a> を正常に呼び出してビデオデータオブザーバーを登録した後、SDK は対応するビデオフレームをキャプチャします。
パラメーター
パラメーター | タイプ | 説明 |
videoSource | ビデオデータソース。 | |
videoRawData | 生のビデオデータ。 |
レスポンスの説明
true:SDK に書き戻す必要があります (I420 およびネイティブ (iOS/macOS) のみ有効)。
false:SDK に書き戻す必要はありません。
OnPreEncodeVideoSample
エンコーディング前のローカルビデオデータのコールバック。
virtual bool OnPreEncodeVideoSample(AliEngineVideoSource videoSource, AliEngineVideoRawData &videoRawData) = 0;このメソッドは、エンコーディング前のローカルビデオデータを取得するためのコールバックです。SDK がビデオフレームをエンコードする前に RAW ビデオデータ (YUV 形式など) を取得するために使用されます。このコールバックを使用して、カスタム処理ロジック (ウォーターマークの追加、色の調整、トランスコーディングなど) を実装し、処理されたデータを後続のエンコーディングのために SDK に返すかどうかを決定できます。
パラメーター
パラメーター | タイプ | 説明 |
videoSource | ビデオデータソース。 | |
videoRawData | ビデオデータ。 |
戻り値
true:SDK に書き戻す必要があります (I420 およびネイティブ (iOS/macOS) のみ有効)。
false:SDK に書き戻す必要はありません。
OnRemoteVideoSample
サブスクライブされたリモートビデオデータのコールバック。
virtual bool OnRemoteVideoSample(const char *uid, AliEngineVideoSource videoSource, AliEngineVideoRawData &videoRawData) = 0;このメソッドは、サブスクライブされたリモートビデオデータを取得するためのコールバックです。リモートユーザーの RAW ビデオフレームデータ (YUV 形式など) を取得するために使用されます。このコールバックを使用して、カスタム処理ロジック (フィルター、ウォーターマーク、トランスコーディングの追加など) を実装し、処理されたデータを後続のレンダリングのために SDK に返すかどうかを決定できます。
パラメーター
パラメーター | タイプ | 説明 |
uid | const char * | リモートユーザー ID。 |
videoSource | ビデオデータソース。 | |
videoRawData | 生のビデオデータ。 |
戻り値
true:SDK に書き戻す必要があります。
false:SDK に書き戻す必要はありません。
GetVideoAlignment
ビデオ出力の幅の配置。
virtual AliEngineVideoObserAlignment GetVideoAlignment();戻り値
期待されるビデオ出力の幅の配置。AliEngineVideoObserAlignment をご参照ください。
GetObservedFramePosition
ビデオデータ出力の内容。
virtual uint32_t GetObservedFramePosition();戻り値
期待されるビデオ出力の内容。AliEngineVideoObserPosition をご参照ください。
onDestroyCompletion
破棄操作が完了したときのコールバック。
virtual void onDestroyCompletion();このコールバックは、SDK エンジンインスタンスが破棄され、新しいインスタンスを作成できることを示します。
トリガーされるタイミング
このコールバックは、ユーザーが Destroy を呼び出したときにエンジンが破棄された後にトリガーされます。
メインスレッドをブロックしないように、他のメソッドを実行する前に onDestroyCompletion コールバックを待ってください。
OnAudioEffectFinished
ローカルの効果音が再生完了したときのコールバック。
virtual void OnAudioEffectFinished(int soundId) {}パラメーター | タイプ | 説明 |
soundId | int | 再生が完了した効果音の ID。 |
OnAudioVolumeCallback
サブスクライブされたオーディオの音量、音声ステータス、UID のコールバック。
virtual void OnAudioVolumeCallback(const AliEngineUserVolumeInfo* volumeInfo, int volumeInfoCount, int totalVolume) {}このコールバックはデフォルトで無効になっています。<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#f69f93ca70pa6" id="9e5f7dfbe43ze">EnableAudioVolumeIndication</a> メソッドを呼び出すことで有効にできます。有効にすると、アクティブなストリームプッシュでチャンネルに参加した後、SDK は <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#f69f93ca70pa6" id="ebd7f2147ar4d">EnableAudioVolumeIndication</a> で指定された間隔でこのコールバックをトリガーします。コールバックの結果には、ローカルとリモートの両方のスピーカーの音量情報が含まれます。
パラメーター
パラメーター | タイプ | 説明 |
volumeInfo | ユーザーの音量情報の配列。ユーザーの UID、音声ステータス、音量が含まれます。
| |
volumeInfoCount | int | ユーザー音量情報配列内の情報の数。 |
totalVolume | int | ミキシング後の合計音量。範囲は [0,255] です。ローカルユーザーのコールバックでは、totalVolume はミキシング後のローカルユーザーの音量です。リモートユーザーのコールバックでは、totalVolume はミキシング後のすべてのスピーカーの合計音量です。 |
OnActiveSpeaker
アクティブなスピーカーのコールバック。
virtual void OnActiveSpeaker(const char *uid) {}<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#f69f93ca70pa6" id="b5e0ba1248tmp">EnableAudioVolumeIndication</a> を正常に呼び出した後、SDK は音量が最も大きいリモートユーザーを継続的に監視します。現在の期間内で最も頻繁に最も大きいと識別されたリモートユーザーがアクティブなスピーカーです。
トリガー条件
チャンネル内のユーザー数が 2 人以上で、アクティブなリモートユーザーがいる場合、SDK はこのコールバックをトリガーし、最もアクティブなリモートユーザーの UID を報告します。
最もアクティブなリモートユーザーが常に同じユーザーである場合、SDK は
OnActiveSpeakerコールバックを再度トリガーしません。最もアクティブなリモートユーザーが変更された場合、SDK はこのコールバックを再度トリガーし、新しい最もアクティブなリモートユーザーの UID を報告します。
パラメーター
パラメーター | タイプ | 説明 |
uid | const char * | 現在話している人の ID。 |
OnPublishLiveStreamStateChanged
バイパスパブリッシュ状態の変更に関するコールバック。
virtual void OnPublishLiveStreamStateChanged(const char* streamUrl ,AliEngineLiveTranscodingState state ,AliEngineLiveTranscodingErrorCode errCode){};パラメーター
パラメーター | タイプ | 説明 |
streamURL | const char* | ストリーム URL。 |
state | 状態。 | |
errCode | エラーコード。 |
OnPublishTaskStateChanged
バイパスタスク状態の変更に関するコールバック。
virtual void OnPublishTaskStateChanged(const char* streamUrl, AliEngineTrascodingPublishTaskStatus state){};パラメーター
パラメーター | タイプ | 説明 |
streamURL | const char* | ストリーム URL。 |
state | 状態。 |
OnNetworkQualityChanged
ネットワーク品質の変更に関するコールバック。ネットワーク品質が変更されたときにトリガーされます。
virtual void OnNetworkQualityChanged(const char *uid, AliEngineNetworkQuality upQuality, AliEngineNetworkQuality downQuality);パラメーター
パラメーター | タイプ | 説明 |
uid | char* | ネットワーク品質が変更されたユーザーの UID。 説明 空の UID は、ユーザー自身のネットワーク品質が変更されたことを示します。 |
upQuality | アップストリームのネットワーク品質レベル。 | |
downQuality | ダウンストリームのネットワーク品質レベル。 |
OnLastmileDetectResultWithQuality
通話前のネットワーク品質検出のコールバック。検出開始後約 3 秒で提供されます。
virtual void OnLastmileDetectResultWithQuality(AliEngineNetworkQuality networkQuality);このコールバックは、チャンネルに参加する前のローカルユーザーのネットワーク検出結果を記述し、ネットワーク品質レベルを大まかに判断するために使用されます。StartLastmileDetect を呼び出した後、SDK は約 3 秒でこのコールバックを返します。
パラメーター
パラメーター | タイプ | 説明 |
networkQuality | ネットワーク品質レベル。 |
OnLastmileDetectResultWithBandWidth
通話前のネットワーク品質検出の結果のコールバック。検出後約 30 秒で提供されます。
virtual void OnLastmileDetectResultWithBandWidth(int code, AliRTCSdk::AliEngineNetworkProbeResult networkQuality);StartLastmileDetect を呼び出した後、SDK は約 30 秒でこのコールバックを返し、ネットワーク品質の詳細な結果を提供します。
パラメーター
パラメーター | タイプ | 説明 |
code | int | 戻り値:
|
networkQuality | AliRTCSdk::AliEngineNetworkProbeResult | リンク RTT と、上りおよび下りネットワークのパケット損失率、ジッター、帯域幅を含むネットワーク検出結果。 |
OnOccurError
エンジンでエラーが発生した場合、このコールバックがアプリに通知します。
virtual void OnOccurError(int error, const char *msg);パラメーター
パラメーター | タイプ | 説明 |
error | int | エラータイプ。AliEngineErrorCode をご参照ください。 |
msg | const char * | エラーメッセージ。 |
OnFirstAudioPacketSend
最初のオーディオパケット送信のコールバック。このコールバックは、最初のオーディオデータパケットが送信されたときにトリガーされます。
virtual void OnFirstAudioPacketSend(AliEngineAudioTrack audioTrack, int timeCost);パラメーター
パラメーター | タイプ | 説明 |
audioTrack | オーディオタイプ。どのオーディオストリームの最初のパケットが送信されたかを示します。 | |
timeCost | int | 送信にかかった時間。チャンネルへの参加から最初のオーディオパケットが送信されるまで (ミリ秒単位)。 |
OnFirstAudioPacketReceived
最初のオーディオパケット受信のコールバック。このコールバックは、最初のリモートオーディオデータパケットが受信されたときにトリガーされます。
virtual void OnFirstAudioPacketReceived(const char* uid, AliEngineAudioTrack audioTrack, int timeCost) パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | リモートユーザー ID。 |
audioTrack | オーディオタイプ。どのオーディオストリームの最初のパケットが受信されたかを示します。 | |
timeCost | int | 受信にかかった時間。チャンネルへの参加から最初のオーディオパケットが受信されるまで (ミリ秒単位)。 |
OnFirstVideoPacketSend
最初のビデオパケット送信のコールバック。
virtual void OnFirstVideoPacketSend(AliEngineVideoTrack videoTrack, int timeCost);パラメーター
パラメーター | タイプ | 説明 |
videoTrack | ビデオタイプ。カメラストリームや画面共有ストリームなど、どのビデオストリームの最初のパケットが送信されたかを示します。 | |
timeCost | int | 送信にかかった時間。チャンネルへの参加から最初のビデオパケットが送信されるまで (ミリ秒単位)。 |
OnFirstVideoPacketReceived
最初のビデオパケット受信のコールバック。
virtual void OnFirstVideoPacketReceived(const char* uid, AliEngineVideoTrack videoTrack, int timeCost);パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | リモートユーザー ID。 |
videoTrack | ビデオタイプ。カメラストリームや画面共有ストリームなど、どのビデオストリームの最初のパケットが受信されたかを示します。 | |
timeCost | int | 受信にかかった時間。チャンネルへの参加から最初のビデオパケットが受信されるまで (ミリ秒単位)。 |
OnFirstRemoteAudioDecoded
最初のデコードされたリモートオーディオフレームのコールバック。
virtual void OnFirstRemoteAudioDecoded(const char* uid, AliEngineAudioTrack audioTrack, int elapsed);パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | リモートユーザー ID。 |
audioTrack | オーディオタイプ。どのオーディオストリームの最初のフレームがデコードされたかを示します。 | |
elapsed | int | ローカルユーザーがチャンネルに参加してからこのコールバックがトリガーされるまでの遅延 (ミリ秒単位)。 |
OnFirstRemoteVideoFrameDrawn
このメッセージは、リモートユーザーの最初のビデオフレームが表示されたときにトリガーされます。
virtual void OnFirstRemoteVideoFrameDrawn(const char *uid, AliEngineVideoTrack videoTrack,
int width, int height, int elapsed);パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | リモートユーザー ID。 |
videoTrack | ビデオタイプ。カメラストリームや画面共有ストリームなど、どのビデオストリームかを示します。 | |
width | int | ビデオの幅。 |
height | int | ビデオの高さ。 |
elapsed | int | ローカルユーザーがチャンネルに参加してからこのコールバックがトリガーされるまでの合計遅延 (ミリ秒単位)。 |
OnFirstLocalVideoFrameDrawn
このメッセージは、プレビューが最初のビデオフレームを表示し始めたときにトリガーされます。
virtual void OnFirstLocalVideoFrameDrawn(int width, int height, int elapsed);パラメーター
パラメーター | タイプ | 説明 |
width | int | ビデオの幅。 |
height | int | ビデオの高さ。 |
elapsed | int | ローカルユーザーがチャンネルに参加してからこのコールバックがトリガーされるまでの合計遅延 (ミリ秒単位)。 |
OnTestAudioVolumeCallback
通話前の音声収集テストの音量に関するコールバック。
virtual void OnTestAudioVolumeCallback(int volumn);通話前に StartAudioCaptureTest を正常に呼び出した後、このコールバックがトリガーされます。通常の音量が返される場合、音声収集が正常であることを示します。
パラメーター
パラメーター | タイプ | 説明 |
volumn | int | 音量情報を返します。 |
OnAudioAccompanyStateChanged
ローカル伴奏再生状態のコールバック。
virtual void OnAudioAccompanyStateChanged(AliEngineAudioAccompanyStateCode playState, AliEngineAudioAccompanyErrorCode errorCode);このコールバックは、伴奏再生状態が変更されたときにトリガーされ、現在の再生状態とエラーコードを通知します。
パラメーター
パラメーター | タイプ | 説明 |
playState | 現在の再生状態。 | |
errorCode | 再生エラーコード。 |
OnAudioFileInfo
オーディオファイル情報のコールバック。
virtual void OnAudioFileInfo(AliEngineAudioFileInfo info, AliEngineAudioAccompanyErrorCode errorCode);GetAudioFileInfo を呼び出した後にトリガーされ、現在のオーディオファイル情報とエラーコードを返します。
パラメーター
パラメーター | タイプ | 説明 |
info | オーディオファイル情報。 | |
errorCode | エラーコード。 |
OnRemoteAudioAccompanyStarted
リモートユーザーの伴奏が再生開始されたときのコールバック。
virtual void OnRemoteAudioAccompanyStarted(const char* uid);パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | リモートユーザー ID。 |
OnRemoteAudioAccompanyFinished
リモートユーザーの伴奏が再生終了したときのコールバック。
virtual void OnRemoteAudioAccompanyFinished(const char* uid);パラメーター
パラメーター | タイプ | 説明 |
uid | const char* | リモートユーザー ID。 |
SetParameter
カスタムパラメーターを設定します。
virtual int SetParameter(const char* parameter) = 0;パラメーター
パラメーター | タイプ | 説明 |
parameter | const char* | カスタムパラメーター。 |
GetParameter
カスタムパラメーターを取得します。
virtual String GetParameter(const char* parameter) = 0;パラメーター
パラメーター | タイプ | 説明 |
parameter | const char* | カスタムパラメーター。 |
EnableAudioFrameObserver
オーディオデータのサブスクリプションを有効または無効にします。
virtual int EnableAudioFrameObserver(bool enabled, AliEngineAudioSource audioSource, AliEngineAudioFrameObserverConfig config) = 0;このメソッドは、指定されたタイプのオーディオデータのコールバックを有効または無効にし、さまざまなタイプの RAW およびエンコードされたオーディオデータを取得できるようにします。デフォルトでは無効になっています。有効にするには、このメソッドを呼び出します。
このメソッドを呼び出して、対応する AliEngineAudioSource のオーディオデータコールバックを有効にする場合、RegisterAudioFrameObserver メソッドと組み合わせて使用し、オーディオデータ受信オブジェクトを渡す必要があります。
呼び出すタイミング
オーディオデータを取得する必要がある場合は、このメソッドを呼び出して有効にすることができます。
パラメーター
パラメーター | タイプ | 説明 |
enable | bool | データコールバックを許可するかどうか。 |
audioSource | コールバックデータソースのタイプ。収集済み (0)、3A 後 (1)、パブリッシュ済み (2)、再生 (3)、プルされたオーディオデータ (5) が含まれます。 注意:
| |
config | AliEngineAudioFrameObserverConfig | オーディオコールバックパラメーターの設定。サンプルレート、チャンネル数、コールバックの読み取り/書き込みモード (読み取り専用、書き込み専用、読み取り/書き込み) が含まれます。パラメーターが null の場合、デフォルトは (48000, 1, ReadOnly) です。 |
RegisterAudioFrameObserver
オーディオデータコールバックを登録します。
virtual int RegisterAudioFrameObserver(IAudioFrameObserver* observer) = 0;このメソッドは、オーディオコールバックデータの受信オブジェクトを登録します。
呼び出すタイミング
SDK が OnCapturedAudioFrame、OnProcessCapturedAudioFrame、OnPublishAudioFrame、OnPlaybackAudioFrame、または OnRemoteUserAudioFrame コールバックをトリガーしてさまざまなタイプのオーディオデータを取得する必要がある場合は、このメソッドを呼び出してオーディオデータ受信オブジェクトを提供する必要があります。登録を解除するには、このメソッドを再度呼び出して null を渡します。
制限事項
EnableAudioFrameObserver を呼び出して、特定の AliEngineAudioSource のコールバックを有効にする必要があります。そうしないと、渡されたオブザーバーはデータを取得できません。
パラメーター
パラメーター | タイプ | 説明 |
observer | IAudioFrameObserver* | コールバックオブジェクトへのポインター。 |
戻り値
成功の場合は 0、失敗の場合はその他の値。
UnRegisterAudioFrameObserver
オーディオデータ出力のサブスクリプションを解除します (IAliEngineMediaEngine メソッド)。
virtual void UnRegisterAudioFrameObserver(IAudioFrameObserver* observer) = 0;パラメーター
名前 | タイプ | 説明 |
observer | コールバックオブジェクトへのポインター。 |
RegisterVideoSampleObserver
ビデオデータ出力にサブスクライブします。
virtual void RegisterVideoSampleObserver(IVideoFrameObserver* observer) = 0;このメソッドは、ビデオデータの出力オブジェクトを登録します。登録を解除するには、UnRegisterVideoSampleObserver メソッドを呼び出します。
出力データは {@link IVideoFrameObserver} コールバックを通じて返されます。
呼び出すタイミング
RAW ビデオデータ (YUV や RGBA 形式など) を取得するには、このメソッドを呼び出してビデオデータオブザーバーを登録し、さまざまな段階でビデオデータを取得できます。
関連するコールバック
ビデオデータ出力オブザーバーを正常に登録した後、SDK は各ビデオフレームをキャプチャするときに実装したコールバックをトリガーします。必要に応じて、対応するコールバックを実装します:
OnCaptureVideoSample:ローカルで収集されたビデオデータのコールバック。
OnRemoteVideoSample:リモートビデオデータのコールバック。
OnPreEncodeVideoSample:エンコーディング前のローカルビデオデータのコールバック。
パラメーター
名前 | タイプ | 説明 |
observer | IVideoFrameObserver | コールバックオブジェクトへのポインター。 |
UnRegisterVideoSampleObserver
ビデオデータ出力の登録を解除します。
virtual void UnRegisterVideoSampleObserver(IVideoFrameObserver* observer) = 0;このメソッドは RegisterVideoSampleObserver メソッドに対応し、ビデオデータ出力オブジェクトの登録を解除する役割を担います。
パラメーター
名前 | タイプ | 説明 |
observer | IVideoFrameObserver | コールバックオブジェクトへのポインター。 |
SnapshotVideo
ビデオスナップショット機能。
virtual int SnapshotVideo(const String& userId, const AliEngineVideoTrack &trackType) = 0;ビデオスナップショット機能は非同期メソッドです。AliEngineEventListener::OnSnapshotComplete コールバックをリッスンして、現在のスクリーンショットを取得できます。
パラメーター
パラメーター | タイプ | 説明 |
userId | const String& | ユーザー ID。userId の空の文字列はローカルユーザーを表します。 |
trackType | const AliEngineVideoTrack& | ビデオストリームタイプ。AliEngineVideoTrackCamera と AliEngineVideoTrackScreen のみがサポートされています。 |
戻り値
0:メソッドの呼び出しは成功しました。スクリーンショットはコールバックを通じて取得されます。
<0:メソッドの呼び出しは失敗しました。
SetLogDirPath
SDK ログファイルの保存パスを設定します。
static int SetLogDirPath(const char *logDirPath);パラメーター
名前 | タイプ | 説明 |
logDirPath | const char * | ログファイルを保存する絶対パス。 |
戻り値
0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。
ログの損失を避けるため、他の SDK メソッドを呼び出す前にこのメソッドを呼び出してください。アプリケーションは、指定されたディレクトリが存在し、書き込み可能であることを確認する必要があります。
SetLogLevel
ログレベルを設定します。
static void SetLogLevel(AliEngineLogLevel logLevel);パラメーター
名前 | タイプ | 説明 |
logLevel | ログレベル。デフォルト値は AliEngineLogInfo です。 |
GetNetworkTime
現在のネットワーク時間を取得します。
virtual long long GetNetworkTime() = 0;戻り値
オフセットで調整された現在のネットワーク時間 (NTP 時間) をミリ秒単位で取得します。
SendDataChannelMessage
データチャンネルメッセージを送信します。
virtual int SendDataChannelMessage(const AliEngineDataChannelMsg& msg) = 0;ARTC SDK は、カスタムメッセージを送受信する機能を提供します。これにより、音声およびビデオデータを送信しながら、カスタムのリアルタイムメッセージデータを送信できます。たとえば、このメソッドを呼び出して、リアルタイムの制御命令、ステータス同期データ、またはその他のビジネスメッセージを音声およびビデオとともに送信できます。詳細については、「カスタムメッセージの送受信」をご参照ください。
カスタムメッセージチャンネルはデフォルトで無効になっています。この機能を有効にするには、
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#d78a13ea0e6hy" id="fe71661227b31">SetParameter</a>API を呼び出し、パラメーターを `"{\"data\":{\"enablePubDataChannel\":true" + ",\"enableSubDataChannel\":true}}"` に設定します。これは、チャンネルに参加する前または後に行うことができます。メッセージは、テキストや画像など、任意のデータにすることができます。
関連するコールバック
送信者がカスタムメッセージチャンネルを正常に有効にした後、このメソッドを呼び出してカスタムメッセージを送信できます。受信者は、
OnDataChannelMessageコールバックをリッスンすることでこのコールバックをトリガーし、カスタムメッセージを受信します。
制限事項
ストリーマーロールはメッセージを送受信できます。視聴者ロールはメッセージの受信のみをサポートします。
SetParameter を呼び出してカスタムメッセージチャンネルを有効にする必要があります。
データ送信は次のように制限されています:
ビットレート制限は 30 KB/s です。
データチャンネルは、1 秒あたり最大 60 のデータパケットを送信でき、各パケットは最大 1 KB です。
パラメーター
名前 | タイプ | 説明 |
msg | const AliEngineDataChannelMsg& | 送信するメッセージ。 |
戻り値の説明
0:成功。
0 以外の値:失敗。
StartScreenShareByDesktopId
指定したデスクトップ ID に対応する画面ストリームの共有を開始します。
virtual int StartScreenShareByDesktopId(unsignedint desktopId, const AliEngineScreenShareConfig& config) = 0;パラメーター
名前 | タイプ | 説明 |
desktopId | unsignedint | デスクトップ ID。 |
config | デスクトップを共有するための構成。 |
戻り値
0:成功。
その他:失敗。
StartScreenShareByScreenRegion
指定された画面領域のビデオストリームの共有を開始します。
このメソッドはデスクトップ共有専用です。ウィンドウ共有を設定するには、StartScreenShareByWindowId メソッドを使用します。
共有する特定の領域を構成する場合、共有領域の最小解像度は 16 × 16 です。設定された領域が最小解像度より小さい場合、最小解像度にリセットされます。
共有する特定の領域を構成する場合、設定された共有領域が実際のデスクトップ解像度を超えると、デスクトップ全体が共有されます。
仮想スクリーン座標の詳細については、「仮想スクリーン」をご参照ください。
virtual int StartScreenShareByScreenRegion(
const AliEngineScreenShareRegion & screenRegion,
const AliEngineScreenShareConfig & config) = 0;パラメーター
名前 | タイプ | 説明 |
screenRegion | 共有する画面の位置を仮想画面に対して指定します。 | |
config | 画面共有の構成。 |
戻り値
0:成功。
その他:失敗。
StartScreenShareByWindowId
ユーザー指定のウィンドウ ID を使用して、ビデオソースからのビデオストリームを共有およびパブリッシュします。
virtual int StartScreenShareByWindowId(unsigned int windowId,
const AliEngineScreenShareConfig & config) = 0;パラメーター
名前 | タイプ | 説明 |
windowId | int | ウィンドウ ID。 |
config | 画面共有の構成。 |
戻り値
0:成功。
その他:失敗。
StopScreenShare
画面共有を停止します。
virtual int StopScreenShare() = 0 ;戻り値
0:成功。
その他:失敗。
ResumeScreenShare
画面共有を再開します。
virtual int ResumeScreenShare() = 0;戻り値
0:成功。
その他:失敗。
PauseScreenShare
画面共有を一時停止します。
virtual int PauseScreenShare() = 0;戻り値
0:成功。
その他:失敗。
IsScreenSharePublished
画面共有がパブリッシュされているかどうかを照会します。
このメソッドを呼び出して、画面共有ストリームが現在パブリッシュされているかどうかを確認します。SDK はデフォルトで画面共有ストリームをパブリッシュしません。画面共有ストリームをパブリッシュするには、StartScreenShareByDesktopId、StartScreenShareByScreenRegion、または StartScreenShareByWindowId メソッドを呼び出すことができます。
virtual bool IsScreenSharePublished() = 0;戻り値
true:パブリッシュが設定されています。
false:パブリッシュが設定されていません。
UpdateScreenShareConfig
画面共有の構成を更新します。
virtual int UpdateScreenShareConfig(const AliEngineScreenShareConfig & config) = 0;パラメーター
パラメーター | タイプ | 説明 |
config | 更新された画面共有の構成。 |
戻り値
0:成功。
その他:失敗。
CheckWindowSourceVaild
共有ウィンドウ ID に対応するウィンドウが有効かどうかを判断します。
virtual bool CheckWindowSourceVaild(unsigned int windowId) = 0;パラメーター
パラメーター | タイプ | 説明 |
int | unsigned int | ウィンドウ ID。 |
戻り値
true:対応するウィンドウ ID は有効です。
false:対応するウィンドウ ID は無効です。
GetScreenShareConfig
現在の画面共有の構成情報を返します。
virtual AliEngineScreenShareConfig GetScreenShareConfig() = 0;パラメーター
パラメーター | タイプ | 説明 |
int | unsigned int | ウィンドウ ID。 |
戻り値
true:対応するウィンドウ ID は有効です。
false:対応するウィンドウ ID は無効です。
GetScreenShareSourceInfo
指定されたソースに基づいてオブジェクトのリストを取得します。
virtual AliEngineScreenSourceList* GetScreenShareSourceInfo(AliEngineScreenShareType sourceType) = 0;パラメーター
パラメーター | タイプ | 説明 |
sourceType | 共有ソースタイプ。 |
戻り値
空でない
AliEngineScreenSourceListオブジェクトは、取得された共有ソースタイプのリストです。NULL は失敗を示します。
GetCurrentScreenShareSourceId
現在の共有画面ソースの ID を取得します。
virtual unsigned int GetCurrentScreenShareSourceId() = 0;戻り値
>=0 は現在の共有画面ソースの ID を示します。
<0 は失敗を示します。
GetCurrentScreenShareSourceType
指定されたソースからオブジェクトのリストを取得します。
virtual AliEngineScreenShareType GetCurrentScreenShareSourceType() = 0;パラメーター
パラメーター | タイプ | 説明 |
sourceType | 共有ソースのタイプ。 |
戻り値
共有ソースタイプのリストを含む空でない
AliEngineScreenSourceListオブジェクト。NULL は操作が失敗したことを示します。
GetDesktopRegion
指定されたソース ID とソースタイトルに基づいてデスクトップ共有範囲を取得します。
virtual int GetDesktopRegion(const String& sourceId, const String& sourceTitle, AliEngineScreenShareRegion & region) = 0;パラメーター
パラメーター | タイプ | 説明 |
sourceId | String | 共有ソース ID。 |
sourceTitle | String | ソースタイトル。 |
region | 共有範囲。 |
戻り値
0:成功。
その他:失敗。
SetScreenShareEncoderConfiguration
画面ストリームのビデオエンコーディングプロパティを設定します。
virtual void SetScreenShareEncoderConfiguration(const AliEngineScreenShareEncoderConfiguration& config) = 0;このメソッドは、解像度、フレームレート、ビットレート、ビデオの向きなど、画面ストリームのビデオエンコーディングプロパティのビデオパラメーターを設定します。すべての設定パラメーターには対応する範囲制限があります。設定されたパラメーターが有効範囲外の場合、SDK は自動的に調整します。
このメソッドは、チャンネルに参加する前または後に呼び出すことができます。セッションごとに画面ストリームのビデオエンコーディングプロパティを一度だけ設定する必要がある場合は、チャンネルに参加する前に呼び出すことを推奨します。
パラメーター
パラメーター | タイプ | 説明 |
config | 定義済みの画面共有エンコーディングプロパティ。 |
所属インターフェイス
IAliEngineMediaEngine