本トピックでは、ApsaraVideo Real-time Communication iOS SDK が提供するインターフェイスについて説明します。
目次
基本メソッド
API | 説明 |
AliRtcEngine インスタンスを作成します。これはシングルトンメソッドです。 | |
AliRtcEngine インスタンスを同期的に破棄します。 | |
AliRtcEngine インスタンスを非同期的に破棄します。 | |
HTML5 互換モードの有効化を指定します。 | |
現在の環境が HTML5 と互換性があるかどうかを確認します。 | |
SDK のバージョン番号を取得します。 |
チャネル関連メソッド
API | 説明 |
チャネルモードを設定します。 | |
音声プロファイルを設定します。 | |
音声のみモードが有効かどうかを照会します。 | |
音声のみモードまたは音声・映像モードを有効にします。 | |
チャネルに参加します。 | |
チャネルに参加します。 | |
チャネルに参加します。 | |
チャネルから退出します。 | |
ユーザーがチャネル内にいるかどうかを確認します。 | |
ユーザーの役割を指定します。 | |
ユーザーの役割を照会します。 | |
認証情報を更新します。 | |
トークンを使用して認証情報を更新します。 |
配信およびサブスクリプション関連メソッド
API | 説明 |
音声トラックの配信を有効または無効にします。デフォルトでは、音声トラックが配信されます。 | |
音声トラックが配信されているかどうかを照会します。 | |
リモートユーザーの音声トラックへのサブスクリプションを有効または無効にします。デフォルトでは、すべてのリモート音声トラックにサブスクライブされます。 このメソッドは、ユーザーがチャネルに参加する前に呼び出すことを推奨します。 | |
特定のリモートユーザーの音声トラックへのサブスクリプションを開始または停止します。 | |
すべてのリモートユーザーの音声トラックへのサブスクリプションを開始または停止します。 | |
映像トラックの配信を有効または無効にします。 | |
映像トラックが配信されているかどうかを照会します。 | |
リモートユーザーの映像トラックへのサブスクリプションを有効または無効にします。デフォルトでは、すべてのリモート映像トラックにサブスクライブされます。 このメソッドは、ユーザーがチャネルに参加する前に呼び出すことを推奨します。 | |
リモートユーザーの映像トラックへのサブスクリプションを開始または停止します。 | |
すべてのリモートユーザーの映像トラックへのサブスクリプションを開始または停止します。 | |
特定のリモートユーザーのメディアストリームの停止または再開が可能です。 音声および映像トラックの両方が利用可能で、管理が必要な場合に、このメソッドを呼び出すことを推奨します。 | |
特定のリモートユーザーのメディアストリームの停止または再開が可能です。 音声および映像トラックの両方が利用可能で、管理が必要な場合に、このメソッドを呼び出すことを推奨します。 | |
チャネル間で特定のリモートユーザーのメディアストリームの停止または再開が可能です。 | |
対象チャネル内のすべてのユーザーのストリームをサブスクライブします。 | |
リモートユーザーの音声ボリュームを設定します。 |
オーディオデバイス管理関連メソッド
API | 説明 |
ローカル音声のミュートを有効または無効にします。 | |
特定のリモートユーザーのオーディオ トラックの再生を停止するかどうかを指定します。 | |
すべてのリモートユーザーのオーディオ トラックの再生を停止するかどうかを指定します。 | |
音声収集を開始します。 | |
音声収集を開始します。 | |
音声収集を停止します。 | |
ヘッドセットまたはスピーカーを音声出力デバイスとして設定します。 | |
現在の音声出力デバイスがヘッドセットかスピーカーかを照会します。 | |
ボリューム検出を有効にします。 | |
イヤーモニター機能を有効にします。 | |
イヤーモニターのボリュームを設定します。このメソッドは iOS のみで使用できます。 | |
音声再生を開始します。 | |
音声再生を停止します。 | |
再生ボリュームを設定します。 | |
収集ボリュームを設定します。 | |
音声再生デバイスのテストを開始します。 | |
音声再生デバイスのテストを停止します。 | |
音声収集デバイスのテストを開始します。 | |
音声収集デバイスのテストを停止します。 | |
デフォルトの音声出力デバイスを設定します。 |
ボイスチェンジおよびリバーブ関連メソッド
API | 説明 |
ボイスチェンジモードを設定します。 | |
ピッチ調整パラメーターを設定できます。 | |
リバーブモードを設定します。 | |
リバーブモードのパラメーターを設定します。 | |
あらかじめ定義された音声美化エフェクトモードを設定します。 | |
音声イコライザー(EQ)パラメーターを設定し、指定周波数帯域でのゲインを調整します。 |
カスタム音声入力
API | 説明 |
外部音声トラックを追加します。 | |
外部音声データをインポートします。 | |
ストリームアップロード用の外部音声のボリュームを設定します。 | |
ストリームアップロード用の外部音声のボリュームを照会します。 | |
外部音声の再生ボリュームを設定します。 | |
外部音声の再生ボリュームを照会します。 | |
外部ストリームアップロードを削除します。 |
音楽伴奏
API | 説明 |
音楽伴奏ファイルの情報を取得します。 | |
伴奏ファイルの再生を開始します。 | |
伴奏ファイルの再生を停止します。 | |
伴奏ボリュームを設定します。 | |
伴奏ファイルを公開する際のボリュームを設定します。 | |
伴奏ファイルの公開用ボリュームを取得します。 | |
伴奏ファイルの再生ボリュームを設定します。 | |
伴奏ファイルの再生ボリュームを取得します。 | |
伴奏再生を一時停止します。 | |
伴奏再生を再開します。 | |
伴奏ファイルの再生時間(ミリ秒単位)を取得します。 | |
伴奏ファイルの現在の再生位置(ミリ秒単位)を取得します。 | |
伴奏ファイルの再生位置を設定します。 |
効果音ファイル
API | 説明 |
効果音をプリロードします。 | |
プリロード済みの効果音を削除します。 | |
効果音の再生を開始します。 | |
効果音の再生を停止します。 | |
すべての効果音の再生を停止します。 | |
効果音の再生を一時停止します。 | |
すべての効果音の再生を一時停止します。 | |
効果音の再生を再開します。 | |
すべての効果音ファイルを復元できます。 | |
ストリームアップロード用の効果音のボリュームを設定します。 | |
ストリームアップロード用の効果音のボリュームを照会します。 | |
アップストリーミング用のすべての効果音のボリュームを設定します。 | |
ローカル再生用の効果音のボリュームを設定します。 | |
ローカル再生用の効果音のボリュームを照会します。 | |
すべての効果音のローカル再生用ボリュームを設定します。 |
音声および映像ファイルの録画
API | 説明 |
AAC、WAV、または MP4 形式で音声および映像ファイルを録画します。 | |
音声および映像ファイルの録画を停止します。 |
映像デバイス管理関連メソッド
API | 説明 |
ローカルプレビューのレンダリングビューおよび描画パラメーターを設定します。 | |
カメラの収集設定を設定します。 | |
ローカル映像収集を無効または再有効にします。 | |
ローカル映像トラックの配信を停止するかどうかを指定します。 | |
リモートユーザーの映像トラックのレンダリングビューおよび描画パラメーターを設定します。 | |
カメラがオンになっているかどうかを照会します。 | |
映像エンコーディングプロパティを設定します。 | |
映像デコーディングプロパティを設定します。 | |
前面および背面カメラを切り替えます。デフォルトでは前面カメラが使用されます。 | |
現在のカメラ方向を取得できます。 | |
ローカルプレビューを開始します。 | |
ローカルプレビューを停止します。 | |
カメラズームを設定します。 | |
カメラの最大ズーム係数を取得します。 | |
カメラの最大拡大比率を取得します。 | |
カメラ露出を設定します。 | |
カメラ露出を取得します。 | |
最小カメラ露出レベルを取得します。 | |
最大カメラ露出レベルを取得します。 | |
カメラフラッシュモードを設定します。 | |
手動フォーカスがサポートされているかどうかを照会します。 | |
露出ポイントの設定がサポートされているかどうかを照会します。 | |
カメラの手動フォーカスポイントを設定します。 | |
カメラ露出ポイントを設定します。 | |
顔自動フォーカスがサポートされているかどうかを照会します。 | |
顔自動フォーカスを有効または無効にします。 | |
ローカルプレビューおよびストリームアップロード時のミラー表示を設定します。 | |
映像キャプチャパイプラインにおけるスケーリングのタイミング(キャプチャ時またはエンコーディング時)を設定します。 |
映像データコールバックの構成
API | 説明 |
映像データコールバックを登録します。 | |
映像データコールバックを登録解除します。 | |
映像テクスチャコールバックを登録します。 | |
映像テクスチャコールバックを登録解除します。 | |
カメラフィードのスナップショットを撮影します。 | |
映像データのエクスポート用コールバックを登録します。 | |
映像データのエクスポート用コールバックを登録解除します。 |
音声データコールバックの構成
API | 説明 |
音声コールバック設定を構成します。 | |
音声コールバックを登録します。 |
カスタム映像入力
API | 説明 |
外部映像ソースの有効化を指定します。 | |
映像データを入力します。 |
デスクトップ共有インターフェイス
API | 説明 |
画面共有ストリームの取り込みを開始します。 | |
画面共有ストリームの取り込みを開始します。 説明 このメソッドは廃止予定です。 | |
画面共有のストリームアップロードを停止します。 | |
共有音声ストリームのボリュームを設定します。 | |
画面共有ストリームが配信中かどうかを照会します。 | |
画面共有エンコーディングパラメーターを構成します。 |
ライブストリーミングバイパスインターフェイス
API | 説明 |
リレー型ライブストリーミングを開始します。 | |
リレー型ライブストリーミングのパラメーターを更新します。 | |
リレー型ライブストリーミングを停止します。 | |
リレー型ライブストリーミングのステータスを照会します。 |
ネットワーク品質プローブインターフェイス
API | 説明 |
ネットワーク品質テストを開始します。 | |
ネットワーク品質テストを停止します。 |
SEI
API | 説明 |
SEI メッセージを送信します。 | |
SEI メッセージ(拡張版)を送信します。 |
その他の API
API | 説明 |
カスタムパラメーターを設定します。 | |
カスタムパラメーターを照会します。 | |
SDK のログファイルの保存パスを設定します。 | |
ログレベルを設定します。 | |
SDK が AVAudioSession を制御する権限を持つことを指定します。 | |
デバイスの向きを設定します。 | |
ネットワークタイムスタンプを取得します。 | |
データチャネルメッセージを送信します。 |
AliveEnv メソッド
API | 説明 |
グローバル環境を設定します。 |
コールバック
AliRtcEngineDelegate
API | 説明 |
ネットワーク接続ステータスが変更されたときに呼び出されるコールバックです。このコールバックに注意してください。 | |
ローカルデバイス例外が発生したときに呼び出されるコールバックです。このコールバックに注意してください。 | |
ユーザー認証が期限切れになる直前に呼び出されるコールバックです。このコールバックを受信してから 30 秒後に認証が期限切れになります。このコールバックに注意してください。 | |
認証を必要とする API を呼び出した際に、サーバーから認証が期限切れである旨のメッセージが返されます。 | |
チャネル参加結果を返すために呼び出されるコールバックです。 | |
チャネル退出結果を返すために呼び出されるコールバックです。 | |
リモートユーザーのオフライン通知です。 | |
リモートユーザーがオンラインになったことを通知します。 | |
リモートアップストリーミングの通知 | |
サーバーによって切断された場合や、会議終了後にチャネルが終了した場合に送信されるメッセージです。 | |
音声ストリームアップロードステータスの通知です。 | |
音声ストリームフェッチングのステータス通知です。 | |
リモートユーザーのミュート通知です。 | |
音声デバイスの中断が開始されたことを通知します。 | |
音声デバイスの中断が終了したときに呼び出されるコールバックです。 | |
映像トラックのストリームアップロードステータスが変更されたときに呼び出されるコールバックです。 | |
映像トラックのサブスクリプションステータスが変更されたときに呼び出されるコールバックです。 | |
リモートユーザーが映像トラックに対して黒いフレームを送信したときに呼び出されるコールバックです。 | |
リモートユーザーがカメラストリームの送信を停止し、通知を送信します。 | |
リモートユーザーのアプリケーションがバックグラウンドに移行したときです。 | |
リモートユーザーのアプリケーションがフォアグラウンドに戻ったときです。 | |
ローカルでの効果音の再生が終了したときに呼び出されるコールバックです。 | |
サブスクライブ済みの音声ボリューム、音声ステータス、および UID です。 | |
アクティブなユーザーが話していることが検出されたときに呼び出されるコールバックです。 | |
リレー型ライブストリーミングのステータスが変更されたときに呼び出されるコールバックです。 | |
リレー型ライブストリーミングタスクのステータスが変更されたときに呼び出されるコールバックです。 | |
ネットワーク品質が変更されたときに呼び出されるコールバックです。 | |
ネットワーク品質プローブ結果のコールバックです。 | |
ネットワーク品質プローブ結果を返すために呼び出されるコールバックです。 | |
エンジンでエラーが発生したときに呼び出されるコールバックです。このコールバックを使用してアプリに通知します。 | |
最初の音声パケットが送信されたときに呼び出されるコールバックです。 | |
最初の映像フレームが受信されたときに呼び出されるコールバックです。 | |
最初の映像パケットが送信されたときに呼び出されるコールバックです。 | |
最初の音声パケットが受信されたときに呼び出されるコールバックです。 | |
最初のリモート音声フレームがデコードされたときに呼び出されるコールバックです。 | |
リモートユーザーからの最初の映像フレームがレンダリングされたときに呼び出されるコールバックです。 | |
プレビュー中に最初のローカル映像フレームがレンダリングされたときに呼び出されるコールバックです。 | |
通話前の音声キャプチャテストのボリュームコールバックです。 | |
ローカルの伴奏再生状態が変更されたときに呼び出されるコールバックです。 | |
リモートユーザーが伴奏の再生を開始したときに呼び出されるコールバックです。 | |
リモートユーザーが伴奏の再生を終了したときに呼び出されるコールバックです。 | |
リアルタイム統計コールバックで、2 秒ごとにトリガーされます。 | |
ローカル映像パフォーマンス統計(2 秒ごとにトリガー)。 | |
リモート映像パフォーマンス統計(2 秒ごとにトリガー)。 | |
ローカル音声統計コールバックで、2 秒ごとにトリガーされます。 | |
リモート音声統計を提供します。このイベントは 2 秒ごとにトリガーされます。 | |
メディア拡張メッセージが受信されたときに呼び出されるコールバックです。 | |
音声ルートが変更されたときに呼び出されるコールバックです。 | |
スナップショット完了コールバックです。 | |
ローカル音声キャプチャデバイスの状態が変更されたときに呼び出されるコールバックです。 | |
ローカル映像キャプチャデバイスの状態が変更されたときに呼び出されるコールバックです。 | |
データチャネルメッセージの送信を開始できるときに呼び出されるコールバックです。 | |
データチャネルメッセージのコールバックです。 | |
画面共有ストリームのアップロードステータスが変更されたときに呼び出されるコールバックです。 |
AliRtcAudioFrameDelegate
API | 説明 |
生のキャプチャ音声データのコールバックです。 | |
3A 処理後の音声データのコールバックです。 | |
ストリーム取り込みデータ コールバック。 | |
音声再生データのコールバックです。 | |
リモート音声ストリームデータのコールバックです。 |
AliRtcEngineDestroyDelegate
API | 説明 |
エンジンが破棄されたときに呼び出されるコールバックです。このコールバックが完了した後にのみ、エンジンは完全に解放されます。 |
AliRtcTextureDelegate
API | 説明 |
OpenGL コンテキスト作成コールバックです。 | |
OpenGL テクスチャ更新コールバックです。 | |
OpenGL コンテキスト破棄コールバックです。 |
AliRtcVideoFrameDelegate
API | 説明 |
キャプチャされた映像フレームのコールバックです。 | |
エンコード前のローカル映像データのコールバックです。 | |
リモート映像データのコールバックです。 | |
映像データ出力フォーマットです。 | |
映像データ出力位置です。 |
詳細
sharedInstance
シングルトンパターンを使用して AliRtcEngine インスタンスを作成します。
+ (instancetype _Nonnull )sharedInstance:(id<AliRtcEngineDelegate>_Nullable)delegate extras:(NSString *_Nullable)extras;呼び出しタイミング
他の ARTC SDK API を呼び出す前にこのメソッドを呼び出して、AliRtcEngine インスタンスを作成します。
制限事項
このメソッドは同期的であり、メインスレッドで呼び出す必要があります。
SDK は、アプリごとに 1 つの AliRtcEngine インスタンスのみをサポートします。
関連コールバック
エンジンインスタンスを作成する際、ユースケースに基づいて AliRtcEngineDelegate のコールバックを実装します。SDK が動作中に例外に遭遇した場合、まず内部リトライを試みて自動的に回復します。内部で解決できないエラーについては、SDK は定義済みのコールバックを通じてアプリケーションに通知します。以下は、アプリケーションレベルでの処理が必要な主要なコールバックです。
根本原因 | コールバックとパラメーター | ソリューション | 注意事項 |
認証の失敗 | onJoinChannelResult コールバックは AliRtcErrJoinBadToken を返します。 | このエラーが発生した場合、トークンが有効かどうかを確認してください。 | ユーザーが明示的に API を呼び出し、認証に失敗した場合、エラーは API のコールバックで返されます。 |
ネットワーク接続の失敗 | onConnectionStatusChange コールバックは AliRtcConnectionStatusFailed を返します。 | このエラーが発生した場合、チャネルに再参加してください。 | SDK にはネットワーク回復機能が組み込まれています。ただし、切断がプリセットされたタイムアウトしきい値を超えると、SDK はタイムアウトをトリガーして切断します。この場合、ネットワークステータスを確認し、ユーザーにチャネルへの再参加を促してください。 |
ローカルデバイスの例外 | onLocalDeviceException | このエラーが発生した場合、権限とハードウェアの状態を確認してください。 | ARTC はデバイスの検出と診断をサポートしています。ローカルデバイスの例外が発生すると、ARTC はコールバックを介してアプリケーションに通知します。SDK が問題を解決できない場合、アプリは介入してデバイスの状態を確認する必要があります。 |
チャネルからキックアウト | onBye |
| ARTC は、管理者が参加者を積極的に削除する機能を提供します。 |
認証がまもなく期限切れ | onWillAuthInfoExpire | この例外が発生した場合、アプリはまず最新の認証情報を再取得し、次に refreshAuthInfo を呼び出す必要があります。 | 認証の有効期限切れは、ユーザーが API を呼び出すとき、またはプログラムの実行中に発生する 2 つのケースがあります。したがって、エラーは API コールバックまたは専用のエラーコールバックを通じて報告されます。 |
認証期限切れ | onAuthInfoExpired | このエラーが発生した場合、チャネルに再参加してください。 | 認証の有効期限切れは、ユーザーが API を呼び出すとき、またはプログラムの実行中に発生する 2 つのケースがあります。したがって、エラーは API コールバックまたは専用のエラーコールバックを通じて報告されます。 |
パラメーター
名前 | タイプ | 説明 |
delegate | id<AliRtcEngineDelegate>_Nullable | コールバックイベントをリッスンするデリゲートです。 |
extras | NSString *_Nullable | 顧客からのグレーリリースパラメーターを受け取るために使用されます。JSON 文字列を使用して特別な SDK 機能を構成します。空の文字列にすることもできます。 |
destroy[1/2]
AliRtcEngine インスタンスを破棄します。
+ (void)destroy;AliRtcEngine シングルトンオブジェクトを破棄します。このメソッドを呼び出した後、内部で使用されるすべてのリソースが解放されます。他の AliRtcEngine メソッドやコールバックは使用できなくなります。AliRtcEngine を再度使用するには、<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#2db21d4f16s77" id="96631a9306wq8">sharedInstance</a> を呼び出して新しいインスタンスを作成する必要があります。
このメソッドと destroy[2/2] はどちらもエンジンインスタンスを破棄しますが、destroy[2/2] では破棄完了のモニターオブジェクトを渡すことができる点が異なります。
AliRtcEngine インスタンスを再作成する予定がある場合は、このメソッドが完了してから行ってください。
このメソッドを呼び出した後、エンジンオブジェクトを nil に設定してください。
お問い合わせのタイミング
リアルタイム通信が終了した後(つまり、AliRtcEngine の機能が不要になったとき)にこのメソッドを呼び出してインスタンスを解放します。これにより、不要なリソース使用量を削減できます。
制限事項
デッドロックを避けるため、SDK のコールバック内からこのメソッドを呼び出さないでください。
destroy[2/2]
AliRtcEngine インスタンスを破棄します。
+ (void)destroy:(id<AliRtcEngineDestroyDelegate>_Nullable)delegate;AliRtcEngine シングルトンオブジェクトを破棄します。このメソッドを呼び出した後、オブジェクトが内部で使用するすべてのリソースが解放されます。他の AliRtcEngine メソッドやコールバックは使用できなくなります。AliRtcEngine を再度使用するには、<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#2db21d4f16s77" id="115fd691743nx">sharedInstance</a> を呼び出して新しいインスタンスを作成する必要があります。
destroy[1/2] とこのメソッドはどちらも AliRtcEngine インスタンスを解放します。ただし、このメソッドは非同期であり、完了を監視するためのオブザーバーを受け入れます。onDestroyCompletion が呼び出された後にのみ、安全に新しいインスタンスを作成できます。
呼び出しタイミング
リアルタイム通信を完了した後に、このメソッドを呼び出してインスタンスを解放することを推奨します。
制限事項
デッドロックを避けるため、SDK のコールバック内からこのメソッドを呼び出さないでください。
パラメーター
名前 | タイプ | 説明 |
delegate | 完了コールバックを受け取るオブザーバーです。 |
setH5CompatibleMode
HTML5 互換モードを有効にするかどうかを指定します。
AliRtcEngine インスタンスを作成した後は、現在のバージョンの HTML5 互換設定を変更することはできません。このメソッドは、AliRtcEngine インスタンスを作成する前に呼び出す必要があります。
+ (void)setH5CompatibleMode:(BOOL)comp;パラメーター
名前 | タイプ | 説明 |
comp | BOOL | YES の値は HTML5 互換モードを有効にします。NO の値は HTML5 互換モードを無効にします。デフォルト値:NO。 |
getH5CompatibleMode
HTML5 互換モードが有効になっているかどうかを照会します。
+ (BOOL)getH5CompatibleMode;戻り値の説明
YES の値は HTML5 互換モードが有効であることを示します。NO の値は HTML5 互換モードが無効であることを示します。
getSdkVersion
SDK のバージョン番号を取得します。
+ (NSString *_Nonnull)getSdkVersion;戻り値
現在の SDK バージョン番号を文字列として返します。例:「2.5.0.x」。
注意事項
これは静的メソッドです。いつでも呼び出してバージョン番号を取得できます。
setChannelProfile
チャネルモードを設定します。
- (int)setChannelProfile:(AliRtcChannelProfile)profile;このメソッドはチャネルプロファイルを設定します。利用可能な主なプロファイルは 2 つあります。
通信プロファイル:すべてのユーザーがストリーマーとして機能し、ストリームの配信とサブスクライブの両方が可能です。
インタラクティブライブストリーミングプロファイル:
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#892915dd4edcy" id="d88dccff391by">setClientRole</a>を呼び出してクライアントの役割を設定する必要があります。チャネル内でストリームをアップロードするユーザーの役割をストリーマー(AliRTCSdkInteractive)に設定します。ユーザーがストリームをプルするだけでストリームをアップロードしない場合は、その役割を視聴者(AliRTCSdkLive)に設定します。このプロファイルは RTC シナリオに推奨されます。
すべての RTC シナリオでインタラクティブライブストリーミングプロファイルを推奨します。プロファイルを
AliRTCSdkInteractiveLiveに設定してください。同じチャネル内のすべてのユーザーは、同じチャネルプロファイルを使用する必要があります。
呼び出しのタイミング
このメソッドはチャネルに参加する前にのみ呼び出すことができます。チャネルに参加中はプロファイルを変更できません。チャネルから退出した後に変更できます。
パラメーター
名前 | タイプ | 説明 |
profile | チャネルタイプ。RTC シナリオでは、インタラクティブライブストリーミングモードである AliRtcChannelProfileInteractiveLive に設定することを推奨します。 |
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
setAudioProfile
音声プロファイルを設定します。
- (int)setAudioProfile:(AliRtcAudioProfile)audio_profile audio_scene:(AliRtcAudioScenario)audio_scene;このメソッドは、音声エンコーディングと音声シナリオモードを構成します。詳細については、「一般的な音声操作と構成」をご参照ください。デフォルトでは、ARTC SDK は高品質音声モード(AliRtcEngineHighQualityMode)と音楽シナリオモード(AliRtcSceneMusicMode)を使用します。デフォルトがニーズに合わない場合は、このメソッドを呼び出して構成してください。
呼び出しタイミング
このメソッドはチャネルに参加する前にのみ呼び出すことができます。参加後に変更することはできません。チャネルから退出した後に変更できます。
パラメーター
名前 | タイプ | 説明 |
audio_profile | 音声キャプチャまたはエンコーディングモードのパラメーター。高品質モード(AliRtcEngineHighQualityMode)を推奨します。 説明 Web クライアントとの相互運用性のために、サンプルレートを 48 kHz に設定してください。
| |
audio_scene | 音声シナリオモードのパラメーター。オプションは次のとおりです。
説明 ARTC SDK v6.21 以降では、これをチャットルームモード( |
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
isAudioOnly
音声のみモードが有効になっているかどうかを照会します。
- (BOOL)isAudioOnly;戻り値の説明
YES の値は音声のみモードが有効であることを示します。NO の値は音声・映像モードが有効であることを示します。
setAudioOnlyMode
音声のみモードまたは音声・映像モードを有効にします。
- (int)setAudioOnlyMode:(BOOL)audioOnly;パラメーター
名前 | タイプ | 説明 |
audioOnly | BOOL |
|
返品手順
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
joinChannel[1/3]
チャネルに参加します(つまり、会議に参加します)。
- (int)joinChannel:(NSString *_Nonnull)token channelId:(NSString *_Nullable)channelId userId:(NSString *_Nullable)userId name:(NSString *_Nullable)userName onResultWithUserId:(void(^_Nullable)(NSInteger errCode, NSString * _Nonnull channel, NSString * _Nonnull userId, NSInteger elapsed))onResult;このメソッドはチャネルに参加します。ARTC はユーザーをチャネルに編成します。ユーザーは音声および映像ストリームを配信またはサブスクライブするためにチャネルに参加する必要があります。このメソッドは、joinChannel[2/3] および joinChannel[3/3] とともに、チャネルに参加するために使用できます。違いは、認証方式と渡されるユーザー情報にあります。
これは単一パラメーターの参加メソッドです。トークン認証を使用して生成されたトークンを渡します。RTC シナリオではこのメソッドを推奨します。
joinChannel[2/3]は複数パラメーターの参加メソッドです。トークン認証を使用して生成されたトークンを渡し、トークン生成に使用されたユーザー情報も渡します。joinChannel[3/3]は AI リアルタイムインタラクションシナリオ用です。単一パラメーターのトークンを渡し、シナリオに応じてユーザープロパティcapabilityProfileを設定します。
デフォルトでは、チャネルに参加すると、チャネル内の他のすべてのユーザーの音声および映像ストリームをサブスクライブし、自分の音声および映像ストリームをリモートユーザーにプッシュします。デフォルトのサブスクリプションをキャンセルしたい場合は、この API を呼び出す前に <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#8b515d9855osk" id="2e9165006d7tz">setDefaultSubscribeAllRemoteAudioStreams</a> と <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#a975297480yoj" id="96cf16cf8a4us">setDefaultSubscribeAllRemoteVideoStreams</a> を呼び出して、音声または映像ストリームのサブスクリプションを無効にすることができます。
呼び出しタイミング
エンジンインスタンスを作成した後にこのメソッドを呼び出します。
制限事項
チャネルに正常に参加した後、セッション中に別のチャネルに参加するには、まず
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#449873b819cz2" id="37299758eavvg">leaveChannel</a>を呼び出して現在のチャネルから退出する必要があります。そして、再度チャネルに参加する前に<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#3721f1f2a3kpd" id="50039f328fdk7">onLeaveChannelResult</a>コールバックを受信したことを確認してください。このメソッドは一度に 1 つのチャネルにのみ参加できます。
異なる App ID を持つアプリは相互運用できません。
参加に失敗した後の再試行時にこのメソッドを呼び出す必要はありません。
関連コールバック
このメソッドを正常に呼び出した後、次のコールバックがトリガーされます。
ローカルクライアントがチャネルに参加した結果は、
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#e6d2a213d7sl2" id="903005c54be4d">onJoinChannelResult</a>コールバックを通じて通知されます。チャネルに正常に参加した後、リモート側は
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#634626babfq9x" id="4b11b846b1f4t">onRemoteUserOnLineNotify</a>コールバックをトリガーします。
パラメーター
パラメーター | タイプ | 説明 |
token | String | 単一パラメーター入力用の認証情報です。 |
channelId | String | 参加するチャネルの ID です。値はトークン生成に使用されたチャネル ID と同じでなければなりません。 |
userId | String | チャネルに参加したいユーザーの ID です。値はトークン生成に使用されたユーザー ID と同じでなければなりません。 |
userName | String | ユーザーの表示名です。ユーザー ID ではありません。 |
onResultWithUserId | void(^_Nullable)(NSInteger errCode, NSString * _Nonnull channel, NSString * _Nonnull userId, NSInteger elapsed) | このコールバックは、インターフェイスの実行が完了した後に呼び出されます。 |
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
joinChannel[2/3]
複数参加者セッションであるチャネルに参加します。
- (int)joinChannel:(AliRtcAuthInfo *_Nonnull)authInfo name:(NSString *_Nullable)userName onResultWithUserId:(void(^_Nullable)(NSInteger errCode, NSString * _Nonnull channel, NSString * _Nonnull userId, NSInteger elapsed))onResult;このメソッドはチャネルに参加します。ARTC はユーザーをチャネルに編成します。ユーザーは音声および映像ストリームを配信またはサブスクライブするためにチャネルに参加する必要があります。このメソッドは、joinChannel[1/3] および joinChannel[3/3] とともに、チャネルに参加するために使用できます。違いは、認証方式と渡されるユーザー情報にあります。
joinChannel[1/3]は単一パラメーターの参加メソッドです。トークン認証を使用して生成されたトークンを渡します。RTC シナリオではこのメソッドを推奨します。これは複数パラメーターの参加メソッドです。トークン認証を使用して生成されたトークンを渡し、トークン生成に使用されたユーザー情報も渡します。
joinChannel[3/3]は AI リアルタイムインタラクションシナリオ用です。単一パラメーターのトークンを渡し、ユーザープロパティcapabilityProfileを設定します。
デフォルトでは、チャネルに参加すると、チャネル内の他のすべてのユーザーからの音声および映像ストリームをサブスクライブし、自分の音声および映像ストリームをリモートユーザーにプッシュします。デフォルトのサブスクリプションを無効にするには、このインターフェイスを呼び出す前に
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#8b515d9855osk" id="fb54669796mxq">setDefaultSubscribeAllRemoteAudioStreams</a>と<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#a975297480yoj" id="abb190b699jg7">setDefaultSubscribeAllRemoteVideoStreams</a>を呼び出して、音声ストリームまたは映像ストリームのサブスクリプションを無効にします。このメソッドを呼び出す前に、「トークン認証」を参照して複数パラメーターのトークンを生成してください。
制限事項
チャネルに参加した後で別のチャネルに切り替えるには、まず
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#449873b819cz2" id="4283c6cc013bz">leaveChannel</a>を呼び出して現在のチャネルから退出する必要があります。<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#3721f1f2a3kpd" id="9e6478b2f0hen">onLeaveChannelResult</a>コールバックを受信した後にのみ、新しいチャネルに参加できます。このメソッドは一度に 1 つのチャネルにのみ参加できます。
異なる App ID を持つアプリは相互運用できません。
関連コールバック
このメソッドを正常に呼び出した後、次のコールバックがトリガーされます。
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#e6d2a213d7sl2" id="df00346ea8928">onJoinChannelResult</a>コールバックは、ローカルユーザーがチャネルに参加した結果を返します。チャネルに正常に参加した後、リモートユーザーは
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#634626babfq9x" id="c3832e71e8vck">onRemoteUserOnLineNotify</a>コールバックをトリガーします。
パラメーター
名前 | タイプ | 説明 |
authInfo | 認証情報です。 | |
userName | String | ユーザーの表示名です。ユーザー ID ではありません。 |
onResultWithUserId | void(^_Nullable)(NSInteger errCode, NSString * _Nonnull channel, NSString * _Nonnull userId, NSInteger elapsed) | このコールバックは、インターフェイスの実行が完了したときに呼び出されます。 |
joinChannel[3/3]
チャネルに参加します。
- (int)joinChannel:(NSString *_Nonnull)token channelParam:(AliRtcChannelParam *_Nonnull)channelParam onResultWithUserId:(void(^_Nullable)(NSInteger errCode, NSString * _Nonnull channel, NSString * _Nonnull userId, NSInteger elapsed))onResult;このメソッドはチャネルに参加します。ARTC はユーザーをチャネルに編成します。ユーザーは音声および映像ストリームを配信またはサブスクライブするためにチャネルに参加する必要があります。このメソッドは、joinChannel[1/3] および joinChannel[2/3] とともに、チャネルに参加するために使用できます。違いは、認証方式と渡されるユーザー情報にあります。
joinChannel[1/3]は RTC シナリオの単一パラメーター参加メソッドです。トークン認証を使用して生成されたトークンを渡します。RTC シナリオではこのメソッドを推奨します。joinChannel[2/3]は複数パラメーターの参加メソッドです。トークン認証を使用して生成されたトークンを渡し、トークン生成に使用されたユーザー情報も渡します。このメソッドは AI リアルタイムインタラクションシナリオ用です。単一パラメーターのトークンを渡し、ユーザープロパティ
capabilityProfileを設定します。AI エージェントと通信する場合は、これをAliRtcCapabilityProfileAiHumanに設定します。
特別な構成が適用されていない場合、チャネルに参加すると、デフォルトでチャネル内の他のすべてのユーザーからの音声および映像ストリームをサブスクライブし、自分の音声および映像ストリームをリモートユーザーにプッシュします。デフォルトのサブスクリプションを無効にするには、このインターフェイスを呼び出す前に <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#8b515d9855osk" id="ce6cfa82f9xzc">setDefaultSubscribeAllRemoteAudioStreams</a> と <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#a975297480yoj" id="e65b420fd5kj6">setDefaultSubscribeAllRemoteVideoStreams</a> を呼び出して、音声または映像ストリームのサブスクリプションを無効にします。
制限事項
チャネルに正常に参加した後、別のチャネルに参加するには、まず
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#449873b819cz2" id="923190466431o">leaveChannel</a>を呼び出して現在のチャネルから退出する必要があります。そして、再度チャネルに参加する前に<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#3721f1f2a3kpd" id="dfd794c32covq">onLeaveChannelResult</a>コールバックを受信したことを確認してください。このメソッドは一度に 1 つのチャネルにのみ参加できます。
異なる App ID を持つアプリは相互運用できません。
参加に失敗した後の再試行時にこのメソッドを呼び出す必要はありません。
関連コールバック
このメソッドを正常に呼び出した後、次のコールバックがトリガーされます。
ローカルユーザーがチャネルに参加した結果は、
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#e6d2a213d7sl2" id="f83d0aff9btwh">onJoinChannelResult</a>コールバックによって返されます。チャネルに正常に参加した後、リモートユーザーは
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#634626babfq9x" id="aeef817be3a0b">onRemoteUserOnLineNotify</a>コールバックをトリガーします。
パラメーター
名前 | タイプ | 説明 |
token | NSString* | AppServer から取得した認証情報です。 |
channelParam | チャネルに参加するためのパラメーターです。 | |
onResultWithUserId | void(^_Nullable)(NSInteger errCode,NSString * _Nonnull channel,NSInteger elapsed) | このコールバックは、このインターフェイスが実行された後に呼び出されます。 |
leaveChannel
チャネルから退出します。
- (int)leaveChannel;このメソッドを呼び出した後、SDK はリアルタイム通信を終了し、現在のチャネルから退出します。
このメソッドは非同期操作です。正常に呼び出されても、すぐにチャネルから退出するわけではありません。
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#3721f1f2a3kpd" id="e7c0222bacrpa">onLeaveChannelResult</a>コールバックを待ってから、実際にチャネルから退出します。leaveChannel を呼び出した後、エンジンを破棄し、エンジン参照を nil に設定してください。
呼び出しタイミング
チャネルに参加した後、退出する必要がある場合にこのメソッドを呼び出します。
チャネルに参加していて、別のチャネルに参加する必要がある場合は、まずこのメソッドを呼び出します。
関連コールバック
ローカルユーザー:このメソッドが呼び出された後、
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#3721f1f2a3kpd" id="ea2e36a41csu0">onLeaveChannelResult</a>コールバックがトリガーされ、チャネルからの退出結果が報告されます。リモート側:この操作を正常に呼び出した後、リモートユーザーは
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#34876c27d7zv7" id="a50f534f21mew">onRemoteUserOffLineNotify</a>コールバックをトリガーします。
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
isInCall
チャネル内にいるかどうかを確認します。
- (BOOL)isInCall;戻り値の説明
YES の値はチャネル内にいることを示します。NO の値はチャネル内にいないことを示します。
setClientRole
ユーザーの役割を指定します。
- (int)setClientRole:(AliRtcClientRole)role;このメソッドは、ユーザーの役割をストリーマーまたは視聴者に設定します。
インタラクティブモードで、チャネルに参加する前に:
ユーザーの役割をストリーマーに設定:SDK は自動的にローカルの音声および映像ストリームを配信し、他のストリーマーのストリームをサブスクライブします。
ユーザーの役割を視聴者に設定:SDK はローカルの音声または映像ストリームを配信しませんが、他のストリーマーのストリームをサブスクライブします。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。参加前に役割を設定するか、参加後に役割を切り替えることができます。
制限事項
このメソッドはインタラクティブモードでのみ有効です。つまり、<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#fc9626a99f5kj" id="cd8138c77fv4r">setChannelProfile</a> メソッドを呼び出し、チャネルプロファイルを AliRtcInteractivelive に設定した場合です。
インタラクティブモードでは、参加前にユーザーの役割を明示的に設定することを推奨します。
パラメーター
名前 | タイプ | 説明 |
role | ユーザーの役割。デフォルト値は AliEngineClientRoleLive で、視聴者を示します。このパラメーターは非通信モードでのみ有効です。 |
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
getCurrentClientRole
ユーザーの役割を照会します。このメソッドは iOS のみで利用可能です。
- (AliRtcClientRole)getCurrentClientRole;戻り値
ユーザーの役割が返されます。
refreshAuthInfo
認証情報を更新します。
- (int)refreshAuthInfo:(AliRtcAuthInfo *_Nonnull)authInfo;このメソッドは認証情報を更新します。トークンは一定期間後に期限切れになり、期限切れになると SDK はサーバーに接続できなくなります。
このメソッドと refreshAuthInfoWithToken はどちらも認証情報を更新します。このメソッドは複数パラメーターのトークンを更新し、refreshAuthInfoWithToken は単一パラメーターのトークンを更新します。トークン生成については、「トークン認証」をご参照ください。
呼び出しのタイミング
以下の場合:
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#6766cdfb40z1a" id="c1cc6cbddb22o">onAuthInfoWillExpire</a>コールバックを受信し、認証情報がまもなく期限切れになることを示された場合、サーバー側でトークンを再生成し、このメソッドを呼び出して新しいトークンを渡すことを推奨します。トークンを時間内に更新しない場合、
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#b04cd67880ptu" id="13c9ccb2b6ghh">onAuthInfoExpired</a>コールバックがトリガーされ、認証が期限切れになったことを示します。この時点で、トークンを再生成し、joinChannelを呼び出してチャネルに再参加する必要があります。
パラメーター
名前 | タイプ | 説明 |
authInfo | AliRtcAuthInfo *_Nonnull | 認証情報です。 |
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
refreshAuthInfoWithToken
認証情報を更新します。
- (int)refreshAuthInfoWithToken:(NSString *_Nonnull)token;このメソッドはトークンを更新します。トークンは一定期間後に期限切れになり、期限切れになると SDK はサーバーに接続できなくなります。
この API と
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#e6a4495191bmd" id="eb171f6dc0n9p">refreshAuthInfo</a>はどちらも認証情報を更新するために使用されます。この API は単一パラメーターでチャネルに参加するためのトークンを更新し、refreshAuthInfoは複数パラメーターでチャネルに参加するためのトークンを更新します。トークン生成の詳細については、「トークン認証」をご参照ください。トークンが迅速に更新されない場合、
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#b04cd67880ptu" id="3fd3c64767aq8">onAuthInfoExpired</a>がトリガーされ、認証が期限切れになったことが通知されます。その時点で、joinChannelを呼び出してチャネルに再参加する必要があります。
呼び出しタイミング
以下の場合に、サーバーでトークンを再生成し、このメソッドを新しいトークンで呼び出すことを推奨します。
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#6766cdfb40z1a" id="b1dbfcb71d5ys">onAuthInfoWillExpire</a> コールバックを受信し、認証情報がまもなく期限切れになることが報告されたとき。
パラメーター
名前 | タイプ | 説明 |
token | NSString *_Nonnull | 単一パラメーター入力用の認証情報です。 |
戻り値の説明
呼び出しが成功した場合は 0、失敗した場合は 0 以外の値が返されます。
publishLocalAudioStream
音声トラックを配信するかどうかを指定します。
- (int)publishLocalAudioStream:(BOOL)enable;このメソッドは、ローカルでキャプチャされた音声の配信を制御します。デフォルトでは、SDK は音声を配信します。デフォルトで音声を配信したくない場合は、チャネルに参加する前に publishLocalAudioStream(false) を呼び出してください。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。参加前に呼び出すと、デフォルトの構成が変更され、参加時に有効になります。
関連コールバック
ローカル音声ストリームのアップロード状態が変更されると、ローカルクライアントは <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#86b2d8735bm71" id="e5ef180ba6e2i">onAudioPublishStateChanged</a> コールバックをトリガーして最新のアップロード状態を報告し、リモートクライアントは <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#6da9cf330aoer" id="299ef35806ttb">onRemoteTrackAvailableNotify</a> コールバックをトリガーしてリモートユーザーの音声および映像ストリームの変更を報告します。
パラメーター
名前 | タイプ | 説明 |
enable | boolean |
|
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
isLocalAudioStreamPublished
音声トラックが配信されているかどうかを照会します。
- (BOOL)isLocalAudioStreamPublished;戻り値の説明
YES はプッシュが許可されていることを示します。NO はプッシュが許可されていないことを示します。
setDefaultSubscribeAllRemoteAudioStreams
音声ストリームを受け入れるデフォルトの動作を設定します。
- (int)setDefaultSubscribeAllRemoteAudioStreams:(BOOL)sub;このメソッドは、リモートユーザーの音声トラックをデフォルトでサブスクライブするかどうかを構成します。この設定は、後でチャネルに参加するユーザーのサブスクリプション動作に影響します。特別な要件がない限り、これを true に設定してください。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。
参加前:
SDK はチャネルに参加する際にデフォルトでリモートユーザーの音声トラックをサブスクライブします。この動作を変更するには、参加前にこのメソッドを呼び出します。
参加後:
デフォルトのサブスクリプションを停止したい場合は、
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#8b515d9855osk" id="a467e60e4eyhk">setDefaultSubscribeAllRemoteAudioStreams</a>(false)を呼び出すことができます。システムは、後でチャネルに参加するユーザーからの音声ストリームをサブスクライブしなくなります。デフォルトのサブスクリプションを停止した後、指定したユーザーの音声ストリームのサブスクリプションを再開したい場合は、
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#c8249fb568gms" id="9806dd9a750pf">subscribeRemoteAudioStream</a>API を呼び出します。複数のユーザーに対して再開したい場合は、複数回呼び出します。デフォルトのサブスクリプションを停止した後、
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#8b515d9855osk" id="9507d6d3121uh">setDefaultSubscribeAllRemoteAudioStreams</a>(true)を呼び出すと、後でチャネルに参加するユーザーの音声ストリームのみが再開され、サブスクリプションが停止している間に参加したリモートユーザーの音声ストリームはサブスクライブされません。
パラメーター
名前 | タイプ | 説明 |
sub | BOOL |
|
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
subscribeRemoteAudioStream
特定のリモートユーザーの音声トラックへのサブスクリプションを開始または停止します。
- (int)subscribeRemoteAudioStream:(NSString *_Nonnull)uid sub:(BOOL)sub;このインターフェイスを使用して、特定のリモートユーザーからの音声ストリームを停止または再開します。ほとんどのシナリオでは、このパラメーターを true に設定してください。
SDK は、セッションに参加するとデフォルトで全リモートユーザーの音声ストリームをサブスクライブします。この動作を変更するには、セッションに参加する前に <a baseurl="t2309850_v10_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#8b515d9855osk" id="044cc0f710rfg">setDefaultSubscribeAllRemoteAudioStreams</a>(false) を呼び出して、このデフォルト構成をキャンセルできます。
パラメーター
名前 | タイプ | 説明 |
uid | NSString *_Nonnull | リモートユーザーの ID です。 |
sub | BOOL |
|
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
subscribeAllRemoteAudioStreams
すべてのリモートユーザーの音声トラックへのサブスクリプションを開始または停止します。
- (int)subscribeAllRemoteAudioStreams:(BOOL)sub;このメソッドは、リモート音声トラックのサブスクリプションのマスターコントロールです。YES に設定することを推奨します。NO に設定すると、以下のようになります。
現在のセッションのリモート音声トラックはサブスクライブされなくなります。
後から参加する新しいユーザーもサブスクライブされません。
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#c8249fb568gms" id="846b0dd501epf">subscribeRemoteAudioStream</a>を使用して、指定したユーザーの音声ストリームを個別に制御することはできません。
サブスクリプションを再開するには、sub パラメーターを YES に設定してこのメソッドを再度呼び出します。
デフォルトでは、SDK はセッションに参加するとすべてのリモートユーザーの音声ストリームをサブスクライブします。この動作を変更するには、セッションに参加する前に <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#8b515d9855osk" id="86e8c09213k9y">setDefaultSubscribeAllRemoteAudioStreams</a>(false) を呼び出して、このデフォルト構成を無効にすることができます。
パラメーター
名前 | タイプ | 説明 |
sub | BOOL |
|
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
publishLocalVideoStream
映像トラックを配信するかどうかを指定します。
- (int)publishLocalVideoStream:(BOOL)enable;このメソッドは、ローカルでキャプチャされた映像の配信を制御します。
デフォルトでは、SDK はローカル映像ストリームを配信します。この機能を無効にするには、チャネルに参加する前に publishLocalVideoStream(false) を呼び出してください。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。
チャネルに参加する前にこのメソッドを呼び出すと、デフォルトの構成が変更され、その設定はチャネルに参加したときに有効になります。
関連コールバック
ローカル音声ストリームのアップロード状態が変更されると、ローカルクライアントは <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#bd67711e63tnk" id="f966292202q3d">onVideoPublishStateChanged</a> コールバックをトリガーして最新の音声ストリームアップロード状態を報告します。リモートクライアントは <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#6da9cf330aoer" id="2fdc208ccczr1">onRemoteTrackAvailableNotify</a> コールバックをトリガーしてリモートユーザーの音声および映像ストリームの変更を報告します。
パラメーター
名前 | タイプ | 説明 |
enable | boolean |
|
isLocalVideoStreamPublished
映像トラックが配信されているかどうかを照会します。
- (BOOL)isLocalVideoStreamPublished;戻り値の説明
YES の値は映像トラックが配信されていることを示します。NO の値は映像トラックが配信されていないことを示します。
setDefaultSubscribeAllRemoteVideoStreams
デフォルトで映像ストリームを受け入れるかどうかを設定できます。
- (int)setDefaultSubscribeAllRemoteVideoStreams:(BOOL)sub;デフォルトでは、SDK はリモートユーザーの映像トラックをサブスクライブします。この動作を変更するには、このメソッドを使用します。
SDK は、チャネルに参加する際にデフォルトでリモートユーザーの音声および映像トラックをサブスクライブします。この動作を変更するには、チャネルに参加する前にこのメソッドを呼び出します。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。
参加前:
このメソッドを使用して、デフォルトのサブスクリプションを無効にすることができます。
参加後:
デフォルトのサブスクリプションを無効にするには、
setDefaultSubscribeAllRemoteVideoStreams(false)を呼び出します。後でチャネルに参加するユーザーの音声ストリームも自動的にサブスクライブされなくなります。デフォルトのサブスクリプションを停止した後、subscribeRemoteVideoStream インターフェイスを呼び出して、特定のユーザーの音声ストリームのサブスクリプションを再開できます。複数のユーザーのサブスクリプションを再開するには、ユーザーごとにこのインターフェイスを 1 回呼び出します。
デフォルトのサブスクリプションを停止した後、setDefaultSubscribeAllRemoteVideoStreams(false) を呼び出すと、後でチャネルに参加するユーザーの音声ストリームのみが復元されます。
パラメーター
名前 | タイプ | 説明 |
sub | boolean |
|
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
subscribeRemoteVideoStream
リモートユーザーからの映像ストリームのサブスクリプションを停止または再開します。
- (int)subscribeRemoteVideoStream:(NSString *_Nonnull)uid track:(AliRtcVideoTrack)track sub:(BOOL)sub;指定したユーザーの映像ストリームをサブスクライブまたはサブスクライブ解除できます。
デフォルトでは、SDK は会議に参加するとすべてのリモートユーザーからの映像ストリームをサブスクライブします。このデフォルト構成を無効にするには、会議に参加する前に <a baseurl="t2309850_v10_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#a975297480yoj" id="97d89be88bvan">setDefaultSubscribeAllRemoteVideoStreams</a>(false) を呼び出してください。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。
説明
名前 | タイプ | 説明 |
uid | NSString * | ユーザー ID。AppServer によって一意に割り当てられます。 |
track | 映像ストリームのタイプです。 | |
sub | BOOL | サブスクライブするかどうか。 |
subscribeAllRemoteVideoStreams
すべてのリモートユーザーの映像トラックへのサブスクリプションを開始または停止します。
このメソッドは、リモート映像ストリームのサブスクリプションのマスターコントロールとして機能します。NO に設定すると、現在のセッションのすべてのリモート映像ストリームのサブスクリプションが停止し、後で参加する新しいユーザーもサブスクライブされなくなります。これは、setDefaultSubscribeAllRemoteVideoStreams:YES が設定されていても同様です。
- (int)subscribeAllRemoteVideoStreams:(BOOL)sub;このメソッドは、リモート映像ストリームのサブスクリプションのマスターコントロールとして機能します。sub を false に設定すると、以下のようになります。
現在のセッションのすべてのリモート映像ストリームのサブスクリプションが停止します。
後で参加する新しいユーザーもサブスクライブされません(デフォルトのサブスクリプション設定
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#a975297480yoj" id="0464849a17dks">setDefaultSubscribeAllRemoteVideoStreams</a>が有効であっても)。<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#1cc7ef76fdawz" id="498e782f414zz">subscribeRemoteVideoStream</a>を使用して、特定のユーザーの音声ストリームを個別に制御することはできません。
サブスクリプションを再開するには、sub を true に設定してこのメソッドを再度呼び出します。
デフォルトでは、SDK は会議に参加するとすべてのリモートユーザーの映像ストリームをサブスクライブします。この動作を変更するには、会議に参加する前に <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#a975297480yoj" id="317fa38ecf6ya">setDefaultSubscribeAllRemoteVideoStreams</a> を呼び出して、このデフォルト構成を無効にすることができます。
パラメーター
名前 | タイプ | 説明 |
sub | BOOL |
|
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
subscribeRemoteMediaStream[1/2]
特定のリモートユーザーからのメディアストリームを停止または再開します。
- (int)subscribeRemoteMediaStream:(NSString *_Nonnull)uid videoTrack:(AliRtcVideoTrack)videoTrack subVideo:(BOOL)subVideo subAudio:(BOOL)subAudio;このインターフェイスは、サブスクライブされたリモートの音声および映像ストリームをマージします。
関連 API 操作
subscribeRemoteMediaStream[2/2] とは異なり、このインターフェイスは 2 つのブール値パラメーター(subVideo と subAudio)を使用してリモートの映像および音声ストリームをサブスクライブするかどうかを制御し、videoTrack パラメーターはどの映像ストリームをプルするかを指定します。
注:この API では、AliRtcVideoTrack の AliRtcVideoTrackNo は無効であり、設定しても効果はありません。
パラメーター
パラメーター | タイプ | 説明 |
uid | String | リモートユーザーの ID です。 |
videoTrack | 映像ストリームのタイプです。 | |
subVideo | boolean | リモートユーザーの映像トラックをサブスクライブするかどうかを指定します。有効な値:
|
subAudio | boolean | リモートユーザーの音声トラックをサブスクライブするかどうかを指定します。有効な値:
|
応答の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
subscribeRemoteMediaStream[2/2]
特定のリモートユーザーからのメディアストリームを停止または再開できます。
- (int)subscribeRemoteMediaStream:(NSString *_Nonnull)uid videoTrack:(AliRtcVideoTrack)videoTrack audioTrack:(AliRtcAudioTrack)audioTrack;このインターフェイスは、サブスクライブされたリモートの音声および映像ストリームをマージします。
この操作は、videoTrack と audioTrack を使用して、望ましい状態をソフトウェア開発キットに伝えます。
関連 API
subscribeRemoteMediaStream[1/2] とは異なり、このインターフェイスは videoTrack と audioTrack パラメーターを使用して、1 回の呼び出しで SDK に望ましいサブスクリプション状態を指定します。例:
カメラとマイクのストリームをサブスクライブするには、メソッドを呼び出す際に
videoTrackをAliRtcVideoTrackCameraに、audioTrackをAliRtcAudioTrackMicに設定します。カメラストリームのサブスクライブを解除し、マイクは維持したい場合は、メソッドを再度呼び出す際に、それぞれ
AliRtcVideoTrackNoとAliRtcAudioTrackMicをvideoTrackとaudioTrackパラメーターに設定します。すべてのトラックをキャンセルしたい場合は、再度呼び出す際に videoTrack と audioTrack をそれぞれ
AliRtcVideoTrackNoとAliRtcAudioTrackNoに設定します。カメラと画面共有の両方のストリームをサブスクライブするには、videoTrack を
AliRtcVideoTrackBothに設定します。音声も同様に機能します。
パラメーター
パラメーター | タイプ | 説明 |
uid | NSString * | リモートユーザー ID です。 |
videoTrack | 映像ストリームのタイプです。 | |
audioTrack | 音声ストリームのタイプです。 |
戻り値の説明
戻り値 0 は成功を示します。それ以外の値は失敗を示します。
subscribeRemoteDestChannelStream
チャネル間で特定のリモートユーザーのメディアストリームをサブスクライブまたはサブスクライブ解除します。
- (int)subscribeRemoteDestChannelStream:(NSString *_Nonnull)channelId uid:(NSString *_Nonnull)uid track:(AliRtcVideoTrack)track subAudio:(BOOL)subAudio sub:(BOOL)sub;パラメーター
パラメーター | タイプ | 説明 |
channelId | String | リモートチャネルの ID です。 |
uid | String | リモートユーザーの ID です。 |
track | サブスクライブしたい映像トラックです。 | |
sub_audio | boolean | リモートユーザーの音声トラックをサブスクライブするかどうかを指定します。有効な値:
|
sub | boolean | 指定したユーザーのストリームへのクロスチャネルサブスクリプションを停止または再開します。 |
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
subscribeRemoteDestChannelAllStream
対象チャネル内のすべてのユーザーストリームをサブスクライブします。
- (int)subscribeRemoteDestChannelAllStream:(NSString *_Nonnull)channelId track:(AliRtcVideoTrack)track subAudio:(BOOL)subAudio sub:(BOOL)sub;パラメーター
名前 | タイプ | 説明 |
channelId | NSString * | 対象チャネルです。 |
videotrack | 映像ストリームのタイプです。 | |
audioTrack | 音声ストリームのタイプです。 | |
subAudio | BOOL | 音声ストリームをサブスクライブするかどうか。 |
sub | BOOL | リモートチャネル内のユーザーの映像ストリームをサブスクライブするかどうか。 |
戻り値
0 は成功を示します。それ以外の値は失敗を示します。
setRemoteAudioVolume
リモート音声のボリュームを設定できます。
- (int)setRemoteAudioVolume:(NSString *_Nonnull)uid volume:(NSInteger)volume;UID はユーザーがチャネルに参加した後に設定する必要があります。そうしないと、操作は失敗します。
パラメーター
名前 | タイプ | 説明 |
uid | NSString * | ユーザー ID。AppServer によって一意に割り当てられます。 |
volume | NSInteger | 再生ボリューム。有効な範囲:[0, 100]。0 はミュート、100 は元のボリュームを意味します。 |
戻り値
0 の値は成功を示します。0 以外の値は失敗を示します。
muteLocalMic
ローカル音声データの送信を停止または再開します。
- (int)muteLocalMic:(BOOL)mute mode:(AliRtcMuteLocalAudioMode)mode;ミュートすると無音の音声フレームが送信されます。音声のキャプチャとエンコーディングは引き続き実行されます。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。
関連コールバック
呼び出しが成功した後、リモートユーザーは <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#3189c59d9fipb" id="1579c3523779c">onUserAudioMuted</a> コールバックをトリガーして、ユーザーがミュートされているかどうかを示します。
パラメーター
名前 | タイプ | 説明 |
mute | BOOL |
|
mode | ミュートモード。デフォルト:すべてミュート。
|
戻り値
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
muteRemoteAudioPlaying
リモート音声の再生を停止または再開できます。
- (int)muteRemoteAudioPlaying:(NSString *_Nonnull)uid mute:(BOOL)mute;- (int)muteRemoteAudioPlaying:(NSString *_Nonnull)uid mute:(BOOL)mute;- (int)muteRemoteAudioPlaying:(NSString *_Nonnull)uid mute:(BOOL)mute;この API は、指定されたリモートユーザーからの音声の再生を停止または再開しますが、リモート音声のストリームフェッチングやデコーディングには影響しません。ユーザーの音声ストリームのサブスクリプションを解除するには、<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#c8249fb568gms" id="dd9dbbad0bkni">subscribeRemoteAudioStream</a> を呼び出してください。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。
パラメーター
名前 | タイプ | 説明 |
uid | NSString *_Nonnull | リモートユーザーの ID です。 |
mute | BOOL |
|
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
muteAllRemoteAudioPlaying
すべてのリモート音声の再生を停止または再開できます。
- (int)muteAllRemoteAudioPlaying:(BOOL)mute;この API は、すべてのリモート音声の再生を停止または再開します。
このメソッドは再生のみを停止します。ストリームのフェッチングとデコーディングは影響を受けません。
呼び出しのタイミング
この設定は、チャネルに参加する前または後に構成できます。
パラメーター
名前 | タイプ | 説明 |
mute | BOOL |
|
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
startAudioCapture[1/2]
音声収集を開始します。
- (void)startAudioCapture;このメソッドは音声キャプチャを開始します。チャネルに参加する前にこのメソッドを呼び出して、事前に音声キャプチャを開始できます。このメソッドを呼び出さない場合、SDK は自動的に音声キャプチャデバイスを管理します。stopAudioCapture を呼び出して音声キャプチャを停止した後、このメソッドを再度呼び出して再開できます。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。
関連メソッド
startAudioCapture[2/2] API は、指定されたパラメーターに基づいて、会議から退出した後も音声キャプチャデバイスを有効にしておくかどうかを制御します。
関連コールバック
このメソッドを呼び出した後、SDK は onLocalAudioStateChanged コールバックをトリガーして、ローカル音声キャプチャ状態の変更を報告します。
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
startAudioCapture[2/2]
音声収集を開始します。
- (void)startAudioCapture:(BOOL)keepAlive;ミュート後にマイクキャプチャを無効にします。
このメソッドは音声キャプチャを開始します。チャネルに参加する前に呼び出して、早期に音声キャプチャを開始できます。このメソッドを呼び出さない場合、SDK は自動的に音声キャプチャデバイスを管理します。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。
関連メソッド
startAudioCapture[1/2] と比較して、このメソッドでは keepAlive パラメーターを使用して、チャネルから退出した後もキャプチャデバイスをアクティブにしておくかどうかを制御できます。
関連コールバック
このメソッドを呼び出してローカル音声キャプチャステータスを変更した後、onLocalAudioStateChanged コールバックを通じてステータスの更新を取得できます。
パラメーター
パラメーター | タイプ | 説明 |
keepAlive | boolean | チャネルから退出した後の音声収集デバイスの状態。有効な値:
|
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
stopAudioCapture
音声収集を停止します。
- (void)stopAudioCapture;<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#3103c368bexf8" id="ddef64f9b93zq">startAudioCapture</a> を呼び出して音声デバイスからの音声キャプチャを有効にした後、このメソッドを呼び出して音声キャプチャを停止できます。
関連コールバック
このメソッドを呼び出してローカル音声キャプチャステータスを変更した後、onLocalAudioStateChanged コールバックを介してステータスの変更を取得できます。
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
enableSpeakerphone
ヘッドセットまたはスピーカーを音声出力デバイスとして設定します。このメソッドは iOS のみで利用可能です。
- (int)enableSpeakerphone:(BOOL)enable;このメソッドは、チャネルに参加した後に音声再生デバイスをスピーカーまたはヘッドセットに設定します。このメソッドを呼び出さない場合、SDK はデフォルトの音声ルートを使用します。
SDK は音声ルーティングの内部優先順位を定義し、接続された周辺機器に基づいて自動的に切り替えます:有線ヘッドセット > Bluetooth ヘッドセット > ユーザー設定 > デフォルト設定。したがって、周辺機器が接続されている場合、このメソッドは効果がありません。詳細については、「音声ルーティング設定」をご参照ください。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。
関連メソッド
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#83be8cc066qqq" id="f8de149ef8so0">setDefaultAudioRoutetoSpeakerphone</a> メソッドは、デフォルトの音声ルーティング設定を変更し、現在の音声出力デバイスを設定します。
パラメーター
名前 | タイプ | 説明 |
enable | BOOL |
|
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
isEnableSpeakerphone
現在の音声出力デバイスがヘッドセットかスピーカーかを照会します。このメソッドは iOS のみで利用可能です。
- (BOOL)isEnableSpeakerphone;戻り値の説明
YES の値は現在の音声出力デバイスがスピーカーであることを示します。NO の値は現在の音声出力デバイスがヘッドセットであることを示します。
enableAudioVolumeIndication
ボリュームコールバックの間隔と平滑化係数を設定します。
- (int)enableAudioVolumeIndication:(NSInteger)interval smooth:(NSInteger)smooth reportVad:(NSInteger)reportVad;このメソッドは、SDK がローカルの配信ユーザーと、瞬間的な音量が最も高いリモートユーザーの音量情報を定期的に報告するようにします。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。
関連コールバック
このメソッドを正常に呼び出した後、チャネルに配信ユーザーがいる場合、SDK は設定された間隔で次のコールバックをトリガーします。
SDK は、onAudioVolumeCallback コールバックを通じて話しているユーザーの音量を報告します。コールバックの頻度は interval パラメーターに依存します。
音声区間検出の場合、アクティブなスピーカーが検出されると、SDK は onActiveSpeaker コールバックを通じてその UID を報告します。
パラメーター
名前 | タイプ | 説明 |
interval | NSInteger | 音量検出が実行される間隔。単位:ミリ秒。値は 10 以上でなければなりません。このパラメーターを 300 から 500 の値に設定することを推奨します。値が 0 以下の場合、音量と話者を示すインジケーターは無効になります。 |
smooth | NSInteger | 平滑化係数。有効な値:0 から 9。値が大きいほど平滑化の度合いが高くなります。値が小さいほど平滑化の度合いは低くなりますが、リアルタイム性能は向上します。値を 3 に設定することを推奨します。 |
reportVad | NSInteger | 話者を検出するために使用されるスイッチ。有効な値:
|
戻り値
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
enableEarBack
イヤーモニター機能を有効にできます。
- (int)enableEarBack:(BOOL)enable;このメソッドはイヤーモニター機能を有効または無効にします。最適な結果を得るために、有線または Bluetooth ヘッドホンを使用する際にイヤーモニターを有効にすることを推奨します。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。
パラメーターの説明
名前 | タイプ | 説明 |
enable | BOOL |
|
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
setEarBackVolume
イヤーモニターのボリュームを設定します。
- (int)setEarBackVolume:(NSInteger)volume;このインターフェイスはイヤーモニターのボリュームを設定します。<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#bd665d0f894ux" id="b0fa866c9bcuq">enableEarBack</a> を呼び出してイヤーモニターを有効にした後にのみ有効になります。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。
パラメーター
名前 | タイプ | 説明 |
volume | NSInteger | 値は 0 から 100 の範囲でなければなりません。デフォルトは 100 です。 |
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
startAudioPlayer
音声再生を開始します。
- (void)startAudioPlayer;このメソッドを呼び出して、事前に音声再生を開始できます。このメソッドを呼び出さない場合、SDK は音声ストリームをサブスクライブした後に自動的に再生を開始します。
stopAudioPlayer
音声再生を停止します。
- (void)stopAudioPlayer;このメソッドを呼び出して音声再生を停止します。
setPlayoutVolume
再生ボリュームを設定します。
- (int)setPlayoutVolume:(NSInteger)volume;パラメーター
名前 | タイプ | 説明 |
volume | ボリューム | 範囲:[0..400]。[0..100] は元のボリューム範囲です。[100..400] はボリュームを増幅します。 |
戻り値
戻り値 0 は成功を示し、それ以外の値は失敗を示します。
setRecordingVolume
録音ボリュームを設定します。
- (int)setRecordingVolume:(NSInteger)volume;パラメーター
名前 | タイプ | 説明 |
volume | NSInteger | 範囲:[0..400]。[0..100] は元のボリュームです。[100..400] はボリュームを増幅します。 |
戻り値
戻り値 0 は成功を示します。それ以外の値は失敗を示します。
playAudioFileTest
音声ファイルを再生します。
- (int)playAudioFileTest:(NSString *_Nonnull)filePath;このメソッドはチャネルに参加する前に呼び出すことができます。
パラメーター
パラメーター | タイプ | 説明 |
filePath | NSString *_Nonnull | 再生する音声ファイルのパスです。 |
戻り値
戻り値 0 は成功を示します。それ以外の値は失敗を示します。
stopAudioFileTest
音声ファイルの再生を停止します。
- (int)stopAudioFileTest;このメソッドは joinChannel を呼び出す前に呼び出す必要があります。
戻り値
戻り値 0 は成功を示します。それ以外の値は失敗を示します。
startAudioCaptureTest
通話前に音声キャプチャデバイスの検出を有効にします。
- (void)startAudioCaptureTest;このメソッドは joinChannel の前にのみ呼び出すことができます。それ以降に呼び出そうとすると失敗します。
stopAudioCaptureTest
通話を終了する前に音声収集デバイスを検出します。
- (void)stopAudioCaptureTest;このメソッドは joinChannel を呼び出す前に呼び出す必要があります。そうしないと、メソッド呼び出しは失敗します。
setDefaultAudioRoutetoSpeakerphone
デフォルトの音声出力をスピーカーに設定します。デフォルトでは、音声はスピーカーから再生されます。
- (int)setDefaultAudioRouteToSpeakerphone:(BOOL)defaultToSpeakerphone;このメソッドは、チャネルに参加する前にデフォルトの音声ルートデバイスを構成します。音声をヘッドセットまたはスピーカーのいずれかにルーティングできます。SDK はデフォルトでスピーカーを使用します。この動作を変更するには、チャネルに参加する前にこのメソッドを呼び出します。
SDK は音声ルーティングの固定優先順位を定義し、現在の周辺機器の接続状態に基づいて自動切り替えを実行します。優先順位は次のとおりです:有線ヘッドセット > Bluetooth ヘッドセット > ユーザー設定 > デフォルト設定。したがって、周辺機器が接続されておらず、<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#f7d0d8b64fzkz" id="30798b686b5qk">enableSpeakerphone</a> を通じて音声ルーティングを構成していない場合、SDK はデフォルト設定を適用します。
音声ルーティングの詳細については、「音声ルーティング設定」をご参照ください。
モバイルデバイスは通常、ヘッドセットとスピーカーの 2 つの音声ルートをサポートします。
ヘッドセットを使用する場合、音は静かで、電話を耳に近づける必要があります。これによりプライバシーが向上し、通話に適しています。
スピーカーを使用する場合、音は大きく、電話を耳に当てなくても聞こえます。これによりハンズフリー操作が可能になります。
関連メソッド
この API はデフォルトの音声ルーティング設定を変更します。<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#f7d0d8b64fzkz" id="6001aa98ebapw">enableSpeakerphone</a> API は現在の音声ルーティングデバイスを設定します。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。
パラメーター
名前 | タイプ | 説明 |
defaultToSpeakerphone | BOOL | 音声をスピーカーにルーティングするかどうか。YES はスピーカー、NO はヘッドセットです。 |
戻り値
戻り値 0 は成功を示します。それ以外の値は失敗を示します。
setAudioEffectVoiceChangerMode
ボイスチェンジモードを設定します。
- (int)setAudioEffectVoiceChangerMode:(AliRtcAudioEffectVoiceChangerMode)mode;パラメーター
名前 | タイプ | 説明 |
mode | ボイスチェンジモード。デフォルト値:AliRtcSdk_AudioEffect_Voice_Changer_OFF。 |
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
setAudioEffectPitchValue
音声のピッチを設定します。
- (int)setAudioEffectPitchValue:(double)value;パラメーター
名前 | タイプ | 説明 |
value | double | ピッチの値。有効な値:0.5 から 2.0。デフォルト値は 1.0 で、ピッチが変わらないことを示します。 |
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
setAudioEffectReverbMode
リバーブモードを設定します。
- (int)setAudioEffectReverbMode:(AliRtcAudioEffectReverbMode)mode;パラメーター
名前 | タイプ | 説明 |
mode | リバーブモード。デフォルト値:AliRtcAudioEffectReverb_Off。 |
応答の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
setAudioEffectReverbParamType
リバーブエフェクトのタイプと特定のパラメーターを設定できます。
- (int)setAudioEffectReverbParamType:(AliRtcAudioEffectReverbParamType)type value:(float)value;パラメーター
名前 | タイプ | 説明 |
type | 効果音のリバーブパターンです。 | |
value | float | パラメーター値を指定します。 |
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
setAudioEffectBeautifyMode
あらかじめ定義された音声美化エフェクトモードを設定します。
- (int)setAudioEffectBeautifyMode:(AliRtcAudioEffectBeautifyMode)mode;このメソッドは、SDK に組み込まれた音声美化モードを構成します。音声ライブストリーミング、カラオケ、音声ベースのソーシャルアプリなど、音声品質の向上が求められるシナリオに適しています。異なる美化モードを選択すると、声の豊かさや明瞭さを高めるなど、知覚される声の特性が変化し、リモートユーザーのリスニング体験が向上します。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。
パラメーター
パラメーター | タイプ | 説明 |
mode | 音声美化エフェクトモード。詳細については、列挙定義をご参照ください。 |
戻り値の説明
0:成功。
0 以外:失敗。
setAudioEffectEqualizationParam
音声イコライザー(EQ)パラメーターを設定して、指定された周波数帯域のゲインを調整します。
- (int)setAudioEffectEqualizationParam:(AliRtcAudioEffectEqualizationBandFrequency)bandIndex gain:(float)gain;このメソッドは、ローカルでキャプチャされた音声またはオーディオ信号にグラフィックイコライザー調整を適用します。10 の固定周波数帯域のゲインをデシベル(dB)単位で調整して、音質をカスタマイズできます。このメソッドは、音声の明瞭度の最適化、音声品質の向上、ノイズの低減に適しています。
イコライザーは、10 の標準周波数帯域で 31 Hz から 16 kHz までの全スペクトル調整をサポートします。各帯域のゲインは、-15 dB から 15 dB まで独立して調整できます。デフォルトのゲインは 0 dB で、ブーストも減衰もないことを示します。
制限事項
イコライザーを使用する前に、
setAudioEffectBeautifyModeを呼び出して音声美化を有効にする必要があります。
パラメーター
パラメーター | タイプ | 説明 |
bandIndex | 周波数帯域インデックス。中心周波数(31 Hz から 16 kHz)に対応します。 | |
gain | float | ゲイン値(dB)。有効範囲:[-15, 15]。 |
戻り値の説明
0:成功。
0 以外:失敗。
addExternalAudioStream
外部音声トラックを追加します。
- (int)addExternalAudioStream:(AliRtcExternalAudioStreamConfig *_Nonnull)config;外部音声ストリームを追加するには、次の手順に従います。
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#d71bbfd2f242b" id="c310321e9eu35">addExternalAudioStream</a>インターフェイスを呼び出して外部音声ストリームを追加し、その ID を取得します。pushExternalAudioStream を呼び出して、音声データをストリームに供給します。
通話が終了したら、
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#282d70095duaw" id="16f621608d94x">removeExternalAudioStream</a>を呼び出して外部音声ストリームを削除します。
チャネルでカスタムキャプチャされた音声を配信するには、「カスタム音声キャプチャ」をご参照ください。
パラメーター
名前 | タイプ | 説明 |
config | AliRtcExternalAudioStreamConfig | 外部音声トラックの構成です。 |
戻り値の説明
0 より大きい値は呼び出しが成功し、外部音声トラックの ID であることを示します。0 以下の値は呼び出しが失敗したことを示します。
pushExternalAudioStream
外部音声データをインポートします。
- (int)pushExternalAudioStream:(int)streamId rawData:(AliRtcAudioFrame * _Nonnull)audioFrame;このメソッドは、指定されたストリームに音声データを供給します。次の手順に従います。
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#d71bbfd2f242b" id="0a353f7272shu">addExternalAudioStream</a>を呼び出して外部音声ストリームを追加し、外部音声ストリーム ID を取得します。このメソッドを呼び出して、作成されたストリームに音声データを供給します。
通話が終了したら、
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#282d70095duaw" id="a9ebc8d599dz4">removeExternalAudioStream</a>を呼び出して外部音声ストリームを削除する必要があります。
チャネルでカスタムキャプチャされた音声を配信するには、「カスタム音声キャプチャ」をご参照ください。
パラメーター
名前 | タイプ | 説明 |
streamId | int | 外部音声トラックの ID です。 |
audioFrame | AliRtcAudioFrame | 音声データです。 |
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
setExternalAudioStream:publishVolume
外部音声ストリームのアップロードボリュームを設定します。
- (int)setExternalAudioStream:(int)streamId
publishVolume:(int)publishVolume;パラメーター
名前 | タイプ | 説明 |
streamId | int | 外部音声トラックの ID です。 |
publishVolume | int | ストリームアップロード用の外部音声のボリュームです。 |
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
getExternalAudioStreamPublishVolume
ストリームアップロード用の外部音声のボリュームを照会します。
- (int)getExternalAudioStreamPublishVolume:(int)streamId;パラメーター
名前 | タイプ | 説明 |
streamId | int | 外部音声トラックの ID です。 |
戻り値の説明
ボリュームの有効な値は 0 から 100 の範囲です。0 未満の値は呼び出しが失敗したことを示します。
setExternalAudioStream:playoutVolume
外部音声の再生ボリュームを設定します。
- (int)setExternalAudioStream:(int)streamId
playoutVolume:(int)playoutVolume;パラメーター
名前 | タイプ | 説明 |
streamId | int | 外部音声トラックの ID です。 |
playoutVolume | int | 再生ボリュームです。 |
戻り値の説明
0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
getExternalAudioStreamPlayoutVolume
外部音声の再生ボリュームを照会します。
- (int)getExternalAudioStreamPlayoutVolume:(int)streamId;パラメーター
名前 | タイプ | 説明 |
streamId | int | 外部音声トラックの ID です。 |
応答の説明
ボリュームの有効な値は 0 から 100 の範囲です。0 未満の値は呼び出しが失敗したことを示します。
removeExternalAudioStream
外部(音声ストリーム)を削除します。
- (int)removeExternalAudioStream:(int)streamId;このメソッドは、指定された streamId の外部音声ストリームを削除し、addExternalAudioStream メソッドの対となるものです。
呼び出しタイミング
カスタム音声入力機能を使用するには、addExternalAudioStream メソッドを呼び出して音声ストリームを追加し、外部音声ストリーム ID を取得してから、pushExternalAudioStream インターフェイスを呼び出して音声データを SDK にプッシュします。カスタム音声入力を停止したい場合は、対応するメソッドを呼び出して外部音声ストリームを削除し、リソースを解放します。
パラメーター
名前 | タイプ | 説明 |
streamId | int | 外部音声ストリーム ID です。 |
戻り値
0 は成功を示します。それ以外の値は失敗を示します。
getAudioFileInfo
音声ファイル情報を取得します。
- (int)getAudioFileInfo:(NSString *_Nonnull)filePath;非同期インターフェイスです。音声ファイル情報は {@link onAudioFileInfo:errorCode:} を使用して取得できます。
パラメーター
名前 | タイプ | 説明 |
filePath | NSString * | ファイルパスです。 |
startAudioAccompanyWithFile
伴奏ミキシングを開始できます。
- (int)startAudioAccompanyWithFile:(NSString *_Nonnull)filePath config:(AliRtcAudioAccompanyConfig *_Nonnull)config;このメソッドは非同期です。プレーヤーの状態を監視するには、onAudioAccompanyStateChanged コールバックを使用してください。
パラメーター
名前 | タイプ | 説明 |
filePath | NSString * | ファイルパスです。 |
config | 伴奏の構成です。 |
戻り値
0 は成功を示します。その他の値は失敗を示します。
stopAudioAccompany
音声伴奏ミキシングを停止します。
- (int)stopAudioAccompany;戻り値
戻り値 0 は成功を示します。それ以外の値は失敗を示します。
setAudioAccompanyVolume
伴奏ボリュームを設定します。
- (int)setAudioAccompanyVolume:(NSInteger)volume;伴奏のローカル再生ボリュームとストリームアップロードボリュームの両方を設定できます。
パラメーター
名前 | タイプ | 説明 |
volume | NSInteger | 伴奏ボリューム。有効範囲:[0, 100]。 |
戻り値
0 は成功、それ以外は失敗です。
setAudioAccompanyPublishVolume
音声伴奏の配信ボリュームを設定します。
- (int)setAudioAccompanyPublishVolume:(NSInteger)volume;このメソッドは配信されるストリームのボリュームを設定します。
パラメーター
名前 | タイプ | 説明 |
volume | NSInteger | 伴奏ボリューム。有効範囲:[0, 100]。 |
戻り値
成功した場合は 0 を返します。失敗した場合はエラーコードが返されます。
getAudioAccompanyPublishVolume
音声伴奏の配信ボリュームレベルを取得できます。
- (int)getAudioAccompanyPublishVolume;戻り値
[0, 100] の範囲の値は成功を示します。それ以外の値は失敗を示します。
setAudioAccompanyPlayoutVolume
伴奏のローカル再生ボリュームを設定します。
- (int)setAudioAccompanyPlayoutVolume:(NSInteger)volume;パラメーター
名前 | タイプ | 説明 |
volume | NSInteger | 伴奏ボリューム。有効範囲:[0, 100]。 |
戻り値
戻り値が 0 の場合、成功です。それ以外の場合は失敗です。
getAudioAccompanyPlayoutVolume
伴奏のローカル再生ボリュームを取得できます。
- (int)getAudioAccompanyPlayoutVolume;戻り値
0 から 100 の範囲の値は成功を示し、それ以外の値は失敗を示します。
pauseAudioAccompany
音声伴奏ミキシングを一時停止します。
- (int)pauseAudioAccompany;戻り値
戻り値が 0 の場合、成功です。それ以外の場合は失敗です。
resumeAudioAccompany
音声伴奏ミキシングを再開します。
- (int)resumeAudioAccompany;戻り値
0 は成功を示します。その他の値は失敗を示します。
getAudioAccompanyDuration
伴奏ファイルの再生時間(ミリ秒単位)を取得します。
- (int)getAudioAccompanyDuration;戻り値
成功した場合は伴奏ファイルの再生時間をミリ秒単位で返します(>= 0)。失敗した場合は 0 未満の値を返します。
getAudioAccompanyCurrentPosition
伴奏ファイルの再生進捗(ミリ秒単位)を取得します。
- (int)getAudioAccompanyCurrentPosition;戻り値
0 以上の値は、現在の再生位置(ミリ秒単位)を示します。負の値は失敗を示します。
setAudioAccompanyPosition
伴奏ファイルの再生位置を設定します。
- (int)setAudioAccompanyPosition:(int)pos;パラメーター
名前 | タイプ | 説明 |
pos | int | プログレスバーの位置(ミリ秒単位)です。 |
戻り値
戻り値が 0 の場合、成功です。それ以外の場合は失敗です。
preloadAudioEffectWithSoundId
効果音をプリロードします。
- (int)preloadAudioEffectWithSoundId:(NSInteger)soundId filePath:(NSString *_Nonnull)filePath;パラメーター
名前 | タイプ | 説明 |
soundId | NSInteger | ユーザーが効果音に割り当てる ID です。 |
filePath | NSString *_Nonnull | 効果音のパスです。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
unloadAudioEffectWithSoundId
プリロード済みの効果音を削除します。
- (int)unloadAudioEffectWithSoundId:(NSInteger)soundId;パラメーター
名前 | タイプ | 説明 |
soundId | NSInteger | ユーザーが効果音に割り当てる ID です。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
playAudioEffectWithSoundId
効果音の再生を開始します。
- (int)playAudioEffectWithSoundId:(NSInteger)soundId filePath:(NSString *_Nonnull)filePath cycles:(NSInteger)cycles publish:(BOOL)publish;パラメーター
名前 | タイプ | 説明 |
soundId | NSInteger | ユーザーが効果音に割り当てる ID です。 |
filePath | NSString *_Nonnull | 効果音のパスです。 |
cycles | NSInteger | 再生ループ回数です。このパラメーターには -1 または正の整数を指定できます。 |
publish | BOOL | 配信するか? |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
stopAudioEffectWithSoundId
効果音の再生を停止します。
- (int)stopAudioEffectWithSoundId:(NSInteger)soundId;パラメーター
名前 | タイプ | 説明 |
soundId | NSInteger | ユーザーが効果音に割り当てる ID です。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
stopAllAudioEffects
すべての効果音の再生を停止します。
- (int)stopAllAudioEffects;戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
pauseAudioEffectWithSoundId
効果音の再生を一時停止します。
- (int)pauseAudioEffectWithSoundId:(NSInteger)soundId;パラメーター
名前 | タイプ | 説明 |
soundId | NSInteger | ユーザーが効果音に割り当てる ID です。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
pauseAllAudioEffects
すべての効果音の再生を一時停止します。
- (int)pauseAllAudioEffects;応答の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
resumeAudioEffectWithSoundId
効果音の再生を再開します。
- (int)resumeAudioEffectWithSoundId:(NSInteger)soundId;パラメーター
名前 | タイプ | 説明 |
soundId | NSInteger | ユーザーが効果音に割り当てる ID です。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
resumeAllAudioEffects
すべての効果音の再生を再開します。
- (int)resumeAllAudioEffects;戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
setAudioEffectPublishVolumeWithSoundId
ストリームアップロード用の効果音のボリュームを設定します。
- (int)setAudioEffectPublishVolumeWithSoundId:(NSInteger)soundId volume:(NSInteger)volume;パラメーター
名前 | タイプ | 説明 |
soundId | NSInteger | ユーザーが効果音に割り当てる ID です。 |
volume | NSInteger | ミックスされた音声のボリュームです。有効な値:0 から 100。デフォルト値:50。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
getAudioEffectPublishVolumeWithSoundId
ストリームアップロード用の効果音のボリュームを照会します。
- (int)getAudioEffectPublishVolumeWithSoundId:(NSInteger)soundId;パラメーター
名前 | タイプ | 説明 |
soundId | NSInteger | ユーザーが効果音に割り当てる ID です。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
setAllAudioEffectsPublishVolume
すべての効果音をストリームアップロードにミックスする際のボリュームを設定します。
- (int)setAllAudioEffectsPublishVolume:(NSInteger)volume;パラメーター
名前 | タイプ | 説明 |
volume | NSInteger | ミックスされた音声のボリュームです。有効な値:0 から 100。デフォルト値:50。 |
応答の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
setAudioEffectPlayoutVolumeWithSoundId
ローカル再生用の効果音のボリュームを設定します。
- (int)setAaudioEffectPlayoutVolumeWithSoundId:(NSInteger)soundId volume:(NSInteger)volume;パラメーター
名前 | タイプ | 説明 |
soundId | NSInteger | ユーザーが効果音に割り当てる ID です。 |
volume | NSInteger | ミックスされた音声のボリュームです。有効な値:0 から 100。デフォルト値:50。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
getAudioEffectPlayoutVolumeWithSoundId
ローカル再生用の効果音のボリュームを照会します。
- (int)getAudioEffectPlayoutVolumeWithSoundId:(NSInteger)soundId;パラメーター
名前 | タイプ | 説明 |
soundId | NSInteger | ユーザーが効果音に割り当てる ID です。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
setAllAudioEffectsPlayoutVolume
すべての効果音のローカル再生ボリュームを設定できます。
- (int)setAllAudioEffectsPlayoutVolume:(NSInteger)volume;パラメーター
名前 | タイプ | 説明 |
volume | NSInteger | ミックスされた音声のボリュームです。有効な値:0 から 100。デフォルト値:50。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
startRecord
メディアファイルの録画を開始します。
- (BOOL)startRecord:(AliRtcRecordType)recordType recordFormat:(AliRtcRecordFormat)recordFormat filePath:(NSString*)filePath audioConfig:(AliRtcRecordAudioConfig*)audioConfig videoConfig:(AliRtcRecordVideoConfig*)videoConfig;パラメーター
パラメーター | タイプ | 説明 |
recordType | 録画タイプです。 | |
recordFormat | 録画フォーマットです。 | |
filePath | NSString * | 録画用のファイル名およびパスです。 |
audioConfig | 音声構成です。 | |
videoConfig | 映像構成です。 |
戻り値の説明
TRUE の値は成功を示します。それ以外の値は失敗を示します。
映像ストリームを録画する場合、このメソッドはストリームアップロードが成功した後(
onVideoPublishStateChanged)のみ呼び出す必要があります。このメソッドは、ローカルでエンコードされた映像ストリームを録画し、デバイスに保存します。音声ストリームを録画する場合、ローカルとリモートの音声のミックスを録画します。
stopRecord
メディアファイルの録画を停止します。
- (void)stopRecord パラメーター
なし。
setLocalViewConfig
ローカルプレビューのレンダリングビューおよび描画パラメーターを設定します。
- (int)setLocalViewConfig:(AliVideoCanvas *_Nullable)viewConfig forTrack:(AliRtcVideoTrack)track;このメソッドはローカルプレビューのビューを設定します。これを呼び出すと、ローカル映像ストリームが表示ビューとレンダリングモード、ミラー表示モード、ローカルユーザーのビューの回転角度にバインドされます。これはローカルプレビューにのみ影響し、ストリームアップロードには影響しません。リモートユーザーのビューを構成するには、setRemoteViewConfig を呼び出します。
AliVideoCanvas:レンダリングキャンバス の
viewパラメーターが空の場合、レンダリングは停止します。再生中に AliVideoCanvas:レンダリングキャンバス の renderMode パラメーターをリセットするには、renderMode パラメーターのみを変更し、他のすべてのパラメーターは変更しないでください。
再生中に AliVideoCanvas:レンダリングキャンバス の mirrorMode パラメーターをリセットするには、mirrorMode パラメーターのみを変更し、他のすべてのパラメーターは変更しないでください。
ローカルプレビューを明示的に開始するには、startPreview() を呼び出すことを推奨します。
呼び出しのタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。
パラメーターの説明
名前 | タイプ | 説明 |
viewConfig | *_Nullable | レンダリング構成で、レンダリングビューおよびレンダリングモードを含みます。 |
track | 映像トラックのタイプです。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
setCameraCapturerConfiguration
カメラの収集設定を設定します。
- (int)setCameraCapturerConfiguration:(AliRtcCameraCapturerConfiguration* _Nonnull)config;このメソッドは、カメラ方向やフレームレートなどのカメラキャプチャ設定を構成します。
呼び出しのタイミング
カメラをオンにする前に設定する必要があります。たとえば、次の操作の前:
startPreview
joinChannel(チャネルへの参加)
パラメーター
名前 | タイプ | 説明 |
config | AliRtcCameraCapturerConfiguration * _Nonnull | カメラの収集設定です。関連プロパティのデフォルト値:
"-1" は SDK のデフォルト設定を使用することを意味します。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
enableLocalVideo
ローカル映像収集を無効または再有効にします。
- (int)enableLocalVideo:(BOOL)enable;このメソッドはローカル映像キャプチャを有効または無効にします。無効にすると、ローカルプレビューおよびストリームアップロードでは映像が表示されません。ただし、リモート映像の受信には影響しません。ローカルカメラキャプチャを無効にすると、ローカルプレビューおよびストリームアップロードは最後のフレームでフリーズします。
SDK では、ローカル映像キャプチャがデフォルトで有効になっています。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。
関連コールバック
このメソッドを正常に呼び出した後、onUserVideoEnabled コールバックがリモートユーザーに通知されます。
パラメーター
名前 | タイプ | 説明 |
enable | BOOL | YES の値はローカル映像収集を再有効にします。NO の値はローカル映像収集を無効にします。デフォルト値:YES。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
muteLocalCamera
ローカル映像データの送信を停止または再開します。
- (int)muteLocalCamera:(BOOL)mute forTrack:(AliRtcVideoTrack)track;このメソッドを呼び出して、配信時に黒いフレームを送信します。ローカルプレビューは通常どおり表示されます。キャプチャ、エンコーディング、送信モジュールはアクティブなままになり、黒いフレームのみ送信されます。
このメソッドは、指定された映像トラックに対して黒いフレームを送信するかどうかのみを制御します。映像キャプチャまたはデータ送信を停止するものではありません。enableLocalVideo メソッドを使用してキャプチャを無効化してください。publishLocalVideoStream メソッドを使用して映像データ送信を停止してください。
パラメーターの説明
名前 | タイプ | 説明 |
mute | BOOL | YES は映像データに対して黒いフレームを送信します。NO(デフォルト値)は通常の動作を再開します。 |
track | 公開状態を変更したい映像トラックのタイプです。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
setRemoteViewConfig
リモートユーザーの映像トラックのレンダリングビューおよび描画パラメーターを設定します。
- (int)setRemoteViewConfig:(AliVideoCanvas *_Nullable)canvas uid:(NSString *_Nonnull)uid forTrack:(AliRtcVideoTrack)track;このメソッドは、指定されたリモートユーザーの映像ストリームの表示ビューをアタッチし、ローカルでの表示のためのレンダリングモード、ミラー表示モード、回転角度などのプロパティを設定します。これはローカルユーザーが見る映像画像にのみ影響します。ローカルプレビューのビューを設定するには、<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#fea843803078q" id="b6f22fe87a2es">setLocalViewConfig</a> を呼び出します。
AliVideoCanvas:レンダリングキャンバス の
viewパラメーターが null の場合、レンダリングは停止します。再生中に AliVideoCanvas:レンダリングキャンバス の renderMode パラメーターをリセットするには、renderMode 値のみを変更し、他のパラメーターは変更しないでください。
再生中に AliVideoCanvas:レンダリングキャンバス の mirrorMode パラメーターをリセットするには、mirrorMode 値のみを変更し、他のパラメーターは変更しないでください。
呼び出しタイミング
リモートユーザーの映像が利用可能になったときにトリガーされる onRemoteTrackAvailableNotify コールバックを受信したときに、このメソッドを呼び出すことを推奨します。
パラメーター
名前 | タイプ | 説明 |
canvas | *_Nullable | レンダリング構成で、レンダリングビューおよびレンダリングモードを含みます。 |
uid | NSString *_Nonnull | ユーザー ID です。 |
track | 構成する映像トラックのタイプです。 |
応答の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
isCameraOn
カメラがオンになっているかどうかを照会します。
- (BOOL)isCameraOn;応答の説明
YES の値はカメラがオンであることを示します。NO の値はカメラがオフであることを示します。
setVideoEncoderConfiguration
映像エンコーディングプロパティを設定します。
- (void)setVideoEncoderConfiguration:(AliRtcVideoEncoderConfiguration* _Nonnull)config;このメソッドは、解像度、フレームレート、ビットレート、向きなどの映像ストリームエンコーディングパラメーターを設定します。すべての映像シナリオでこのメソッドを呼び出すことを推奨します。
すべての構成パラメーターには有効な範囲があります。無効な値を指定した場合、SDK が自動的に調整します。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に呼び出すことができます。カメラストリームエンコーディングプロパティをセッションごとに一度だけ設定するには、参加前に呼び出すことを推奨します。
制限事項
このメソッドと setVideoMirrorMode の両方が映像ストリームのミラー表示を制御します。どちらか一方のみ使用することを推奨します。両方を使用すると、重複したミラー効果が発生し、不適切な動作につながる可能性があります。
パラメーター
名前 | タイプ | 説明 |
config | AliRtcVideoEncoderConfiguration * _Nonnull | あらかじめ定義されたエンコーディングプロパティです。デフォルト値:
-1 は SDK 内部のデフォルトを使用することを意味します。 |
setVideoDecoderConfiguration
映像デコーディングプロパティを設定します。
- (void)setVideoDecoderConfiguration:(AliRtcVideoDecoderConfiguration* _Nonnull)config;このメソッドは、カメラストリームの映像デコーディングパラメーターを設定します。
呼び出しタイミング
会議に参加する前にこのメソッドを呼び出すことができます。
パラメーター
名前 | タイプ | 説明 |
config | AliRtcVideoDecoderConfiguration * _Nonnull | あらかじめ定義されたデコーディングプロパティです。デフォルト値:
"-1" は SDK のデフォルト設定を使用することを意味します。 |
switchCamera
前面および背面カメラを切り替えます。デフォルトでは前面カメラが使用されます。このメソッドは iOS のみで利用可能です。
- (int)switchCamera;このメソッドは、前面または背面カメラのいずれを使用するかを制御します。ハードウェアの可用性に基づいてアプリケーション実行中に動的にカメラを切り替えることができ、映像ストリームを再起動したり、映像ソースを再構成したりする必要はありません。
呼び出しタイミング
このメソッドは、カメラが正常にオンになった後のみ呼び出すことができます。
制限事項
このメソッドは iOS および Android プラットフォームでのみサポートされています。
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
getCurrentCameraDirection
現在のカメラタイプを照会します。デフォルトでは前面カメラが使用されます。このメソッドは iOS のみで利用可能です。
- (AliRtcCameraDirection)getCurrentCameraDirection;戻り値の説明
カメラ方向列挙型を返します。
startPreview
ローカルプレビューを開始します。カメラは自動的にオンになります。
- (int)startPreview;この API はローカル映像プレビューを有効にし、自動的にカメラを起動します。ローカルプレビューを停止するには、`stopPreview` API を呼び出します。
leaveChannel はチャネルから退出し、ローカルプレビューを自動的に停止します。カメラストリームをプッシュしていない場合、カメラは自動的にシャットダウンされます。
呼び出しタイミング
このメソッドを呼び出す前に、setLocalViewConfig を使用してプレビュー表示を設定できます。そうしないとプレビューは失敗しますが、ストリームアップロードには影響しません。
チャネルに参加する前にこのメソッドを呼び出して早期にプレビューを開始できます。カメラは自動的に起動します。
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
stopPreview
ローカルプレビューを停止します。
- (int)stopPreview;このメソッドはローカル映像プレビューを停止し、カメラを無効にします。停止後、ローカルプレビューは最後のフレームでフリーズします。ストリームアップロードには影響しません。
leaveChannel はローカルプレビューを自動的に停止します。カメラストリームを公開していない場合、カメラも自動的にオフになります。
呼び出しタイミング
プレビューを停止するためにこのメソッドを呼び出すことができます。
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
setCameraZoom
カメラズームを設定します。
- (int)setCameraZoom:(float)zoom;パラメーター
名前 | タイプ | 説明 |
zoom | float | ズームレベルです。範囲:カメラがサポートする最大ズーム係数まで 1 以上です。 |
戻り値
成功時は 0 を返します。それ以外の値は失敗を示します。
GetCameraMaxZoomFactor
カメラの最大ズーム係数を取得します。
- (float)GetCameraMaxZoomFactor;戻り値
カメラの最大ズーム係数です。
GetCurrentZoom
現在のカメラズームレベルを取得します。
- (float)GetCurrentZoom;戻り値
現在のカメラズームレベルです。
SetExposure
カメラ露出レベルを設定できます。
- (int)SetExposure:(float)exposure;パラメーター
名前 | タイプ | 説明 |
exposure | float | 露出レベルです。 |
戻り値
0 は成功を示します。それ以外の値は失敗を示します。
GetCurrentExposure
カメラ露出を取得できます。
- (float)GetCurrentExposure;戻り値
カメラの露出レベルです。
GetMinExposure
最小カメラ露出を取得します。
- (float)GetMinExposure;戻り値
カメラの最小露出レベルです。
GetMaxExposure
カメラの最大露出レベルを取得します。
- (float)GetMaxExposure;戻り値
カメラの最大露出レベルです。
setCameraFlash
カメラフラッシュのトグルを設定できます。
- (int)setCameraFlash:(BOOL)flash;パラメーター
名前 | タイプ | 説明 |
flash | BOOL | フラッシュを有効にするかどうか。 |
戻り値
戻り値が 0 の場合、成功です。それ以外の値は失敗を示します。
isCameraFocusPointSupported
手動フォーカスがサポートされているかどうかを確認します。
- (BOOL)isCameraFocusPointSupported;戻り値
手動フォーカスがサポートされている場合は TRUE を返し、そうでない場合は FALSE を返します。
isCameraExposurePointSupported
カメラは露出ポイントの設定をサポートしていますか?
- (BOOL)isCameraExposurePointSupported;戻り値
TRUE は露出ポイントの設定がサポートされていることを示します。FALSE はサポートされていないことを示します。
setCameraFocusPoint
カメラの手動フォーカスポイントを設定します。
- (int)setCameraFocusPoint:(CGPoint)point;パラメーター
名前 | タイプ | 説明 |
point | CGPoint | フォーカスポイント座標です。変更されるまで有効です。 |
戻り値
成功時は 0 を返します。それ以外の値は失敗を示します。
setCameraExposurePoint
指定されたポイントでの露出値を設定します。
- (int)setCameraExposurePoint:(CGPoint)point;パラメーター
名前 | タイプ | 説明 |
point | CGPoint | フォーカスポイント座標です。変更されるまで有効です。 |
戻り値
戻り値が 0 の場合、成功です。それ以外の値は失敗を示します。
isCameraAutoFocusFaceModeSupported
カメラは顔フォーカスをサポートしていますか?
- (BOOL)isCameraAutoFocusFaceModeSupported;戻り値
TRUE の値は顔自動フォーカスがサポートされていることを示し、FALSE の値はサポートされていないことを示します。
setCameraAutoFocusFaceModeEnabled
顔自動フォーカスを有効または無効にできます。
- (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable;パラメーター
名前 | タイプ | 説明 |
point | CGPoint | フォーカスポイント座標です。変更されるまで有効です。 |
戻り値
戻り値が TRUE の場合、成功です。戻り値が FALSE の場合、失敗です。
setVideoMirrorMode
映像ミラー表示モードを設定します。
- (int)setVideoMirrorMode:(AliRtcVideoPipelineMirrorMode)mirrorMode;ローカルプレビューおよび公開映像ストリームにミラー表示を適用するかどうかを設定します。
このメソッドは setLocalViewConfig および setVideoEncoderConfiguration より優先されます。ミラー表示を構成するには、このメソッドを使用することを推奨します。
呼び出しタイミング
このメソッドはチャネルに参加する前または後に動的に呼び出すことができます。SDK は状態を保存し、プレビューまたはエンコーディング(ストリームアップロード)時にミラー表示を適用します。
制限事項
このメソッドは setLocalViewConfig および setVideoEncoderConfiguration と重複しており、どちらにも mirrorMode パラメーターが含まれています。これらのうち 1 つだけを使用することを推奨します。
パラメーター
名前 | タイプ | 説明 |
mirrorMode | ミラー表示のタイプです。 |
SetCapturePipelineScaleMode
映像リンクのスケーリングモードを設定できます。
-(void)setCapturePipelineScaleMode:(AliRtcCapturePipelineScaleMode)mode;キャプチャ時またはエンコーディング時のどちらで映像データをスケーリングするかを指定します。たとえば、キャプチャ解像度とエンコーディング解像度が異なる場合、この設定により、プレビュー用データとストリームアップロード用データが一致するかどうかが決まります。
デフォルトのスケーリングモードはキャプチャ時の即時スケーリングです。この API はカメラの起動前に設定する必要があります(startPreview や joinChannel の前)。
呼び出しタイミング
カメラを起動する前にこのメソッドを設定する必要があります。たとえば、startPreview または joinChannel を呼び出す前です。
パラメーター
名前 | タイプ | 説明 |
mode | スケーリングのタイプです。 |
戻り値
0 の値は成功を示します。それ以外の値は失敗を示します。
registerVideoFrameWithObserver
映像データ出力オブザーバーを登録します。
- (void)registerVideoFrameWithObserver:(id<AliRtcVideoFrameDelegate> _Nullable)observer;このメソッドを使用して、映像データをエクスポートするオブジェクトを登録できます。登録解除するには、unregisterVideoSampleWithObserver を呼び出します。
呼び出しのタイミング
生の映像データ(YUV や RGBA 形式など)をさまざまな段階で取得するには、このインターフェイスを呼び出して映像データモニターを登録できます。
関連コールバック
映像データ出力オブザーバーを正常に登録した後、SDK は各映像フレームのキャプチャ時に実装したコールバックをトリガーします。必要に応じて以下のコールバックを実装してください。
onCaptureVideoSample:ローカルでキャプチャされた映像データのコールバック。
onRemoteVideoSample:リモート映像データのコールバック。
onPreEncodeVideoSample:エンコーディング前のローカル映像データのコールバック。
パラメーター
名前 | タイプ | 説明 |
observer | 映像データ出力オブザーバーです。 |
unregisterVideoSampleWithObserver
映像データ出力オブジェクトをキャンセルできます。
- (void)unregisterVideoSampleWithObserver:(id<AliRtcVideoFrameDelegate> _Nullable)observer;このインターフェイスは <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#9a3437ab16j1w" id="f524bad30a6ys">registerVideoSampleObserver</a> インターフェイスに対応し、映像データ出力オブジェクトを登録解除します。
パラメーター
名前 | タイプ | 説明 |
observer | 映像データの出力オブジェクトです。 |
registerLocalVideoTextureObserver
ローカルカメラ映像用の OpenGL テクスチャオブザーバーを登録します。
- (void)registerLocalVideoTextureObserver:(id<AliRtcTextureDelegate> _Nullable)observer;生の映像データを取得するには、registerVideoSampleObserver を呼び出します。内部テクスチャデータを取得するには、このメソッドを呼び出します。オブザーバーを登録解除するには、unRegisterLocalVideoTextureObserver を呼び出します。
このメソッドはローカルカメラ映像にのみ適用されます。
ローカルカメラ映像用の OpenGL テクスチャオブザーバーを正常に登録した後、SDK は onTextureCreate、onTextureUpdate、および onTextureDestroy コールバックをトリガーします。
関連コールバック
ローカルカメラ映像用の OpenGL テクスチャオブザーバーを正常に登録した後、SDK は各映像フレームがキャプチャされるたびに AliRtcTextureObserver で実装したコールバックをトリガーします。必要に応じて以下のコールバックを実装できます。
onTextureCreate:SDK が内部 OpenGL コンテキストを作成したときにトリガーされるコールバックです。
onTextureUpdate:各映像フレームが OpenGL テクスチャにアップロードされた後にトリガーされるコールバックです。外部テクスチャオブザーバーが登録されている場合、テクスチャを処理し、更新されたテクスチャ ID を返すことができます。返される値は有効なテクスチャ ID でなければなりません。処理を行わない場合は、入力された textureId を返します。
onTextureDestroy:SDK が内部 OpenGL コンテキストを破棄したときにトリガーされるコールバックです。
パラメーター
名前 | タイプ | 説明 |
observer | OpenGL テクスチャオブザーバーです。 |
unregisterLocalVideoTextureObserver
ローカルカメラ映像用の OpenGL テクスチャオブザーバーを登録解除します。
- (void)unregisterLocalVideoTextureObserver:(id<AliRtcTextureDelegate> _Nullable)observer;このメソッドは registerLocalVideoTextureObserver に対応し、その登録解除を処理します。
パラメーター
名前 | タイプ | 説明 |
observer | OpenGL テクスチャオブザーバーです。 |
snapshotVideo
映像のスナップショットを撮影します。
- (int)snapshotVideo:(NSString*_Nullable)userId type:(AliRtcVideoTrack)type;パラメーター
名前 | タイプ | 説明 |
userId | NSString * | ユーザー ID です。nil または "" の値はローカルユーザーを表します。 |
type | 映像ストリームのタイプで、{@link AliRtcVideoTrack::AliRtcVideoTrackCamera} および {@link AliRtcVideoTrack::AliRtcVideoTrackScreen} のみをサポートします。 |
戻り値
戻り値が 0 の場合、成功です。それ以外の値は失敗を示します。
setExternalVideoSource
外部映像ソースを有効にするかどうかを指定します。
- (int)setExternalVideoSource:(BOOL)enable sourceType:(AliRtcVideoSource)type renderMode:(AliRtcRenderMode)renderMode;パラメーター
名前 | タイプ | 説明 |
enable | BOOL | YES の値は機能が有効であることを示します。NO の値は機能が無効であることを示します。 |
type | ストリームタイプ | |
renderMode | レンダリングモードです。 |
pushExternalVideoFrame
外部映像データをインポートします。
- (int)pushExternalVideoFrame:(AliRtcVideoDataSample *_Nonnull)frame sourceType:(AliRtcVideoSource)type;パラメーター
名前 | タイプ | 説明 |
frame | *_Nonnull | フレームデータ |
type | ストリームタイプ |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
startPublishLiveStreamWithURL
リレー型ライブストリーミングを開始します。
- (int)startPublishLiveStreamWithURL:(NSString *_Nonnull)streamURL liveTranscoding:(AliRtcLiveTranscodingParam *_Nonnull)trancoding;パラメーター
名前 | タイプ | 説明 |
streamUrl | NSString * | アップロード URL です。 |
transcoding | * | リレー型ライブストリーミングのパラメーターです。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
updatePublishLiveStreamWithURL
リレー型ライブストリーミングのパラメーターを更新します。
- (int)updatePublishLiveStreamWithURL:(NSString *_Nonnull)streamURL liveTranscoding:(AliRtcLiveTranscodingParam *_Nonnull)trancoding;パラメーター
名前 | タイプ | 説明 |
streamUrl | NSString * | アップストリーミング URL です。 |
transcoding | * | リレー型ライブストリーミングのパラメーターです。 |
戻り値
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
stopPublishLiveStreamWithURL
ライブストリーミングバイパスを停止します。
- (int)stopPublishLiveStreamWithURL:(NSString *_Nonnull)streamURL;パラメーター
名前 | タイプ | 説明 |
streamUrl | NSString *_Nonnull | アップストリーミング URL です。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
GetPublishLiveStreamStateWithURL
リレー型ライブストリーミングのステータスを照会します。
- (AliRtcLiveTranscodingState)GetPublishLiveStreamStateWithURL:(NSString *_Nonnull)streamURL;パラメーター
パラメーター | タイプ | 説明 |
streamURL | NSString * | アップストリーミング URL です。 |
戻り値の説明
リレー型ライブストリーミングのステータスが返されます。
startLastmileDetect
ネットワーク品質テストを開始します。
- (int)startLastmileDetect:(AliRtcNetworkQualityProbeConfig *_Nonnull)config;パラメーター
パラメーター | タイプ | 説明 |
config | プローブ構成パラメーター |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
stopLastmileDetect
ネットワーク品質テストを停止します。
- (int)stopLastmileDetect;戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
sendMediaExtensionMsg
リバーブモードのパラメーターを設定します。
- (int)sendMediaExtensionMsg:(NSData *_Nonnull)data repeatCount:(int)repeatCount delay:(int)delay isKeyFrame:(bool)isKeyFrame;SDK はメディア拡張メッセージの送受信をサポートしています。SEI (Supplemental Enhancement Information) プロトコルを使用してメッセージを送信します。受信者は onMediaExtensionMsgReceived コールバックをリッスンすることでメッセージを取得できます。
一般的なユースケースは次のとおりです。
メディア拡張メッセージを使用して、エンドツーエンドのネットワーク遅延を計算するためのタイムスタンプを送信したり、他のビジネスロジックと同期したりできます。
メディア拡張メッセージを使用して、最大 4 KB のペイロードで記述情報を送信できます。小さなペイロードには、JSON またはプレーン文字列を使用します。
呼び出しタイミング
ストリームアップロードが開始された後にこのメソッドを呼び出します。
制限事項
メディア拡張メッセージは音声・映像データチャネルを再利用します。そのため、メッセージの頻度とサイズを制御する必要があります。以下の制限が適用されます。
1 秒あたりの最大メッセージ数は、プロファイルの 1 秒あたりのフレーム数(FPS)設定と同じです。SEI メッセージは H.264 または H.265 ストリームに埋め込まれるため、拡張データをアタッチするには映像フレームのエンコーディングが必要です。
メディア転送品質に影響を与えないように、メッセージ本文のサイズは 4 KB に制限されています。この制限は小さなペイロードに適しています。
sendMediaExtensionMsg 関数を使用できます。repeatCount パラメーターはカスタムメッセージの冗長性を指定します。このパラメーターが 1 より大きい場合、メッセージは複数回送信されます。
パケット損失によるメッセージ損失を防ぐため、チャネル内の他のユーザーも重複したメッセージを受信します。重複排除を行う必要があります。
リレー型ライブストリーミングセッションのサブスクライバーもカスタムメッセージを受信します。
一度に送信できる MediaExtensionMsg は 1 つだけです。sendMediaExtensionMsg を複数回呼び出すと、新しい呼び出しのデータが前の呼び出しのデータを上書きします。
関連コールバック
パブリッシャーがメディア拡張メッセージを送信すると、サブスクライバーは onMediaExtensionMsgReceived コールバックを通じてそれらを受信します。
パラメーターの説明
名前 | タイプ | 説明 |
data | NSData * | 拡張メッセージの内容。最大長:4 KB。 |
repeatCount | int | 繰り返し回数。パケット損失によるメッセージ損失を防ぐための冗長性として使用されます。-1 は、別の sendMediaExtensionMsg が呼び出されるまで無限にリトライすることを意味します。 |
delay | int | 送信前の遅延(ミリ秒単位)。SEI はエンコードされた H.264/H.265 ストリームにアタッチされるため、実際の遅延は若干長くなる場合があります。 |
isKeyFrame | bool | SEI をキーフレームにのみアタッチするかどうか。true に設定すると、SEI はキーフレームにのみアタッチされます。 |
戻り値
戻り値が 0 の場合、成功です。それ以外の値は失敗を示します。
sendMediaExtensionMsgEx
メディア拡張情報は、SEI を使用して下位層で送信および実装されます。
- (int)sendMediaExtensionMsgEx:(NSData *_Nonnull)data repeatCount:(int)repeatCount delay:(int)delay isKeyFrame:(bool)isKeyFrame payloadType:(int)payloadType;SDK はメディア拡張メッセージの送受信をサポートしています。このメソッドは、SEI (Supplemental Enhancement Information) プロトコルを使用してメッセージを送信します。受信者は、onMediaExtensionMsgReceived コールバックをリッスンすることでメッセージを取得できます。payloadType が 5 の場合、このメソッドは sendMediaExtensionMsg と同じように機能します。
一般的なユースケースは次のとおりです。
メディア拡張メッセージを使用して、エンドツーエンドのネットワーク遅延計算のためのタイムスタンプを送信したり、他のビジネスロジックと同期したりできます。
メディア拡張メッセージを使用して、記述情報を送信できます。最大 4 KB のデータを送信できます。小さなペイロードには、JSON またはプレーン文字列を使用します。
呼び出しタイミング
ストリームアップロードを開始した後に呼び出すことができます。
呼び出し制限
メディア拡張メッセージは音声・映像データチャネルを再利用します。そのため、これらのメッセージの頻度とサイズを制御する必要があります。制限は次のとおりです。
1 秒あたりの最大メッセージ数は、プロファイルの 1 秒あたりのフレーム数(FPS)設定と同じです。SEI メッセージは H.264 または H.265 ストリームに埋め込まれるため、拡張データをアタッチするには映像フレームのエンコーディングが必要です。
メディア転送品質に影響を与えないように、メッセージ本文のサイズは 4 KB に制限されています。この制限は小さなペイロードに適しています。
sendMediaExtensionMsg 関数の repeatCount パラメーターは、メッセージの冗長性を定義します。1 より大きい値は複数回の送信をトリガーします。
パケット損失によるメッセージ損失を防ぐため、チャネル内の他のユーザーも重複したメッセージを受信します。重複排除を行う必要があります。
リレー型ライブストリーミングセッションのサブスクライバーもカスタムメッセージを受信します。
一度に送信できる MediaExtensionMsg は 1 つだけです。sendMediaExtensionMsg を複数回呼び出すと、以前のデータが上書きされます。
パラメーター
名前 | タイプ | 説明 |
data | NSData * | 拡張メッセージの内容。最大長:4 KB。 |
repeatCount | int | 繰り返し回数。パケット損失によるメッセージ損失を防ぐための冗長性として使用されます。-1 は、別の sendMediaExtensionMsg が呼び出されるまで無限にリトライすることを意味します。 |
delay | int | 送信前の遅延(ミリ秒単位)。SEI はエンコードされた H.264/H.265 ストリームにアタッチされるため、実際の遅延は若干長くなる場合があります。 |
isKeyFrame | bool | SEI をキーフレームにのみアタッチするかどうか。true に設定すると、SEI はキーフレームにのみアタッチされます。 |
payloadType | int | タイプ。UUID ベースのペイロードには 5 を使用します。有効範囲:[5, 100..254]。 |
戻り値の説明
0:成功。
< 0:失敗。エラーコードを返します。
ERR_INNER (-1):内部 SDK エラー。考えられる原因:SDK が初期化されていないか、呼び出し前に破棄された。
onConnectionStatusChange
ネットワーク接続ステータスが変更されたときに呼び出されるコールバックです。
- (void)onConnectionStatusChange:(AliRtcConnectionStatus)status reason:(AliRtcConnectionStatusChangeReason)reason;パラメーター
パラメーター | タイプ | 説明 |
status | 現在のステータスです。 | |
reason | ステータス変更の具体的な理由です。 |
onLocalDeviceException
ローカルデバイス例外が発生したときに呼び出されるコールバックです。このコールバックに注意してください。
- (void)onLocalDeviceException:(AliRtcLocalDeviceType)deviceType exceptionType:(AliRtcLocalDeviceExceptionType)exceptionType message:(NSString *_Nullable)msg;パラメーター
パラメーター | タイプ | 説明 |
deviceType | AliRtcLocalDeviceType | デバイスタイプです。 |
exceptionType | AliRtcLocalDeviceExceptionType | デバイス例外のタイプです。 |
msg | NSString | 例外に含まれる情報です。 |
onAuthInfoWillExpire
ユーザー認証が期限切れになる直前に呼び出されるコールバックです。このコールバックを受信してから 30 秒後に認証が期限切れになります。このコールバックに注意してください。
- (void)onAuthInfoWillExpire;このコールバックは、ユーザー認証がまもなく期限切れになることを示します。これを受信すると、30 秒後に認証が期限切れになります。新しいトークンを生成し、次のいずれかの方法で認証を更新する必要があります。
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#e6a4495191bmd" id="918ba91977wi6">refreshAuthInfo</a>API を呼び出して認証情報を更新します。<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#449873b819cz2" id="ad8235d30dprb">leaveChannel</a>を呼び出して現在のチャネルから退出してから、joinChannelを呼び出してチャネルに再参加します。
トリガー条件
SDK は、認証が期限切れになる 30 秒前にこのコールバックをトリガーします。これを受信したら、速やかに認証を更新してください。
onAuthInfoExpired
ユーザーが認証済み API を呼び出し、サーバーから期限切れの応答が返されます。
- (void)onAuthInfoExpired;このコールバックは、ユーザー認証が期限切れになったことを示します。セッションを続行するには、サーバーで新しいトークンを生成し、次のいずれかの方法で認証を更新します。
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#449873b819cz2" id="21390e77a1307">leaveChannel</a>を呼び出して現在のチャネルから退出してから、joinChannelを呼び出してチャネルに再参加します。
トリガーされたとき
このコールバックは、ユーザー認証が期限切れになったときにトリガーされます。
onJoinChannelResult
このコールバックは、チャネルへの参加結果を報告します。joinChannel メソッドのブロッキング操作と機能的に同等です。チャネルに参加した後のイベントを処理するために、どちらのアプローチも使用できます。
- (void)onJoinChannelResult:(int)result channel:(NSString *_Nonnull)channel elapsed:(int) elapsed;トリガー条件
このコールバックは、アプリが joinChannel メソッドを呼び出したときにトリガーされます。操作が成功したか失敗したかを報告し、参加遅延を含む関連情報を返します。
パラメーター
パラメーター | タイプ | 説明 |
result | int | チャネルへの参加リクエストの結果です。0 の値はリクエストが成功したことを示します。0 以外の値はリクエストが失敗し、エラーコードが返されたことを示します。 |
channel | NSString *_Nonnull | チャネルの ID です。 |
elapsed | int | チャネルへの参加に要した時間です。 |
onLeaveChannelResult
このコールバックは、leaveChannel を呼び出した後に呼び出されます。leaveChannel の直後に destroy を呼び出すと、このコールバックはトリガーされません。
- (void)onLeaveChannelResult:(int)result stats:(AliRtcStats)stats;パラメーター
パラメーター | タイプ | 説明 |
result | int | チャネルからの退出リクエストの結果です。0 の値はリクエストが成功したことを示します。0 以外の値はリクエストが失敗し、エラーコードが返されたことを示します。 |
stats | チャネル内のセッションに関する統計です。 |
onRemoteUserOffLineNotify
リモートユーザーがオフラインになったときに呼び出されるコールバックです。
- (void)onRemoteUserOffLineNotify:(NSString *_Nonnull)uid offlineReason:(AliRtcUserOfflineReason)reason;このコールバックは、リモートユーザーが何らかの理由でチャネルから退出したときにローカルユーザーに通知します。リモートユーザーがオフラインになったときにトリガーされます。
トリガー条件
このコールバックは、リモートユーザーがチャネルから退出したときにトリガーされます。
リモートストリーマーが
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#892915dd4edcy" id="78b1952ad5lwp">setClientRole</a>を呼び出して視聴者ロール(AliRtcClientRoleLive)に切り替えると、コールバックがトリガーされます。システムがリモートストリーマーから長期間データを受信していないことを検出し、オフラインと見なした場合。
パラメーター
パラメーター | タイプ | 説明 |
uid | NSString *_Nonnull | AppServer によって割り当てられた一意のユーザー ID です。 |
reason | リモートユーザーがオフラインになった理由です。 |
onRemoteUserOnLineNotify
リモートユーザーがオンラインになったときに呼び出されるコールバックです。
- (void)onRemoteUserOnLineNotify:(NSString *_Nonnull)uid elapsed:(int)elapsed;このメソッドは、リモートユーザーがチャネルに参加したときにトリガーされます。
トリガー条件
リモートユーザーがチャネルに正常に参加しました。
ローカルユーザーがチャネルに参加した後、すでにチャネルにいたユーザーの参加コールバックを受信して、以前に参加したユーザーを表示します。
パラメーター
パラメーター | タイプ | 説明 |
uid | NSString *_Nonnull | AppServer によって割り当てられた一意のユーザー ID です。 |
elapsed | int | リモートユーザーがチャネルに参加するのに要した時間です。 |
onRemoteTrackAvailableNotify
リモートユーザーのストリームが変更されたときに呼び出されるコールバックです。
- (void)onRemoteTrackAvailableNotify:(NSString *_Nonnull)uid audioTrack:(AliRtcAudioTrack)audioTrack videoTrack:(AliRtcVideoTrack)videoTrack;このコールバックは、リモートユーザーの配信ステータスが変更されたときにトリガーされます。これを使用して、リモートユーザーが音声および映像ストリームを配信しているかどうかを監視し、メディアを表示または非表示にすることで UI を更新できます。
このコールバックはリモートユーザーの配信ステータスを報告します。どのストリームが停止したかを特定するには、コールバックがトリガーされる前後の状態を比較します。
トリガー条件
このコールバックは、以下の場合にトリガーされます。
リモートユーザーが音声および/または映像の配信を開始した場合。
リモートユーザーが音声および/または映像の配信を停止した場合。
インタラクティブモードで、リモートユーザーが setClientRole を呼び出して、視聴者からストリーマーに切り替えてストリームを配信した場合。
たとえば、リモートユーザーが映像ストリームのアップロードを無効にした場合、このコールバックはトリガーされません。
リモートユーザーがカメラ映像の配信を開始した場合(配信ステータス:映像なし → カメラのみ)、このコールバックは
AliRtcVideoTrackCameraを返し、リモートユーザーのカメラストリームが利用可能であることを示します。同じユーザーが後で画面共有も配信した場合(配信ステータス:カメラのみ → カメラ + 画面共有)、このコールバックは
AliRtcVideoTrackBothを返し、カメラと画面共有の両方のストリームが利用可能であることを示します。ユーザーがカメラ映像の配信を停止し、画面共有を続行した場合(配信ステータス:カメラ + 画面共有 → 画面共有のみ)、このコールバックは
AliRtcVideoTrackScreenを返し、画面共有ストリームのみが利用可能であることを示します。ユーザーが画面共有の配信を停止した場合(配信ステータス:画面共有のみ → 映像なし)、このコールバックは
AliRtcVideoTrackNoを返し、映像ストリームが利用できないことを示します。
パラメーター
パラメーター | タイプ | 説明 |
uid | NSString *_Nonnull | AppServer によって割り当てられた一意のユーザー ID です。 |
audioTrack | 音声ストリームはリモートユーザーの変更に従って更新されます。 | |
videoTrack | 映像ストリームはリモートユーザーが変更を行った後に更新されます。 |
onBye
ユーザーがチャネルから強制的に退出させられたときに呼び出されるコールバックです。
- (void)onBye:(int)code;このコールバックは、ユーザーが切断されたり、セッションが終了したりしたときにトリガーされます。開発者は code パラメーターを使用して原因を特定し、適切に処理できます。
トリガー条件
ユーザーがサーバーによって切断されました。
セッションが終了しました(サーバーがチャネルを終了しました)。
ユーザーが受動的に切断されました。クライアントはセッションの回復または再接続を試みる必要があります。
パラメーター
パラメーター | タイプ | 説明 |
code | int | メッセージタイプ。有効な値:
|
onAudioPublishStateChanged
音声トラックのストリームアップロードステータスが変更されたときに呼び出されるコールバックです。
- (void)onAudioPublishStateChanged:(AliRtcPublishState)oldState newState:(AliRtcPublishState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;このコールバックは、ローカルユーザーの音声配信ステータスの変更を監視します。
トリガー条件
このコールバックは、ユーザーの音声配信ステータスが変更されたときにトリガーされます。例:
ストリームアップロードを停止します。
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#892915dd4edcy" id="81771ef0798we">setClientRole</a>を呼び出して視聴者に切り替えることができます。
パラメーター
パラメーター | タイプ | 説明 |
oldState | 以前のストリームアップロードステータスです。 | |
newStat | 現在のストリームアップロードステータスです。 | |
elapseSinceLastState | NSInteger | 変更に要した時間です。単位:ミリ秒。 |
channel | NSString *_Nonnull | チャネルの ID です。 |
onAudioSubscribeStateChanged
音声トラックのサブスクリプションステータスが変更されたときに呼び出されるコールバックです。
- (void)onAudioSubscribeStateChanged:(NSString *_Nonnull)uid oldState:(AliRtcSubscribeState)oldState newState:(AliRtcSubscribeState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;このコールバックは、リモートユーザーの音声ストリームのサブスクリプションステータスが変更されたときに、ローカルユーザーに通知します。これを使用して、特定のリモートユーザーのカメラストリームのサブスクリプションステータスの変更および状態間の間隔を追跡できます。
パラメーター
パラメーター | タイプ | 説明 |
uid | NSString *_Nonnull | サブスクリプションステータスが変更されたユーザーの ID です。 |
oldState | 以前のサブスクリプション状態です。 | |
newState | 現在のサブスクリプション状態です。 | |
elapseSinceLastState | NSInteger | 変更に要した時間です。単位:ミリ秒。 |
channel | NSString *_Nonnull | チャネルの ID です。 |
onUserAudioMuted
ユーザーが音声トラックをミュートしたときに呼び出されるコールバックです。
- (void)onUserAudioMuted:(NSString *_Nonnull)uid audioMuted:(BOOL)isMute;パラメーター
パラメーター | タイプ | 説明 |
uid | NSString *_Nonnull | 音声トラックをミュートしたユーザーの ID です。 |
isMute | BOOL | YES の値は音声トラックがミュートされていることを示します。NO の値は音声トラックがミュートされていないことを示します。 |
onUserAudioInterruptedBegin
ユーザーの音声トラックが中断されたときに呼び出されるコールバックです。たとえば、ユーザーが電話をかけると音声トラックが占有されることがあります。
- (void)onUserAudioInterruptedBegin:(NSString *_Nonnull)uid;パラメーター
パラメーター | タイプ | 説明 |
uid | NSString *_Nonnull | 音声トラックが中断されたユーザーの ID です。 |
onUserAudioInterruptedEnded
ユーザーの音声トラックの中断が終了したときに呼び出されるコールバックです。このコールバックは onUserAudioInterruptedBegin コールバックと対になっています。
- (void)onUserAudioInterruptedEnded:(NSString *_Nonnull)uid;パラメーター
パラメーター | タイプ | 説明 |
uid | NSString *_Nonnull | 音声トラックが中断されたユーザーの ID です。 |
onVideoPublishStateChanged
映像トラックのストリームアップロードステータスが変更されたときに呼び出されるコールバックです。
- (void)onVideoPublishStateChanged:(AliRtcPublishState)oldState newState:(AliRtcPublishState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;このコールバックは、ローカルユーザーの映像配信ステータスの変更を監視します。
パラメーター
パラメーター | タイプ | 説明 |
oldState | 以前のストリームアップロードステータスです。 | |
newState | 現在のストリームアップロードステータスです。 | |
elapseSinceLastState | NSInteger | 変更に要した時間です。単位:ミリ秒。 |
channel | NSString *_Nonnull | チャネルの ID です。 |
onVideoSubscribeStateChanged
映像トラックのサブスクリプションステータスが変更されたときに呼び出されるコールバックです。
- (void)onVideoSubscribeStateChanged:(NSString *_Nonnull)uid oldState:(AliRtcSubscribeState)oldState newState:(AliRtcSubscribeState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;このコールバックは、リモートユーザーのカメラストリームのサブスクリプションステータスの変更をローカルユーザーに通知します。新しいサブスクリプションステータスと、状態変更間の経過時間を提供します。
関連コールバック
映像ストリームには、カメラストリームと画面共有ストリームが含まれます。このコールバックは、カメラストリームのサブスクリプション変更によってトリガーされます。画面共有ストリームのサブスクリプション変更は、onScreenShareSubscribeStateChanged コールバックをトリガーします。
パラメーター
パラメーター | タイプ | 説明 |
uid | NSString *_Nonnull | サブスクリプションステータスが変更されたユーザーの ID です。 |
oldState | 以前のサブスクリプション状態です。 | |
newState | 現在のサブスクリプション状態です。 | |
elapseSinceLastState | NSInteger | 変更に要した時間です。単位:ミリ秒。 |
channel | NSString *_Nonnull | チャネルの ID です。 |
onUserVideoMuted
ユーザー映像ミュート通知。
- (void)onUserVideoMuted:(NSString *_Nonnull)uid videoMuted:(BOOL)isMute;パラメーター
パラメーター | タイプ | 説明 |
uid | NSString *_Nonnull | muteVideo を実行したユーザーの ID です。 |
isMute | BOOL | YES の値は、映像トラックに黒いフレームが送信されることを示します。NO の値は、映像トラックが通常どおり配信されることを示します。 |
onUserVideoEnabled
ローカル映像キャプチャが無効または再有効になったときに通知が送信されます。
- (void)onUserVideoEnabled:(NSString *_Nullable)uid videoEnabled:(BOOL)isEnable;パラメーター
パラメーター | タイプ | 説明 |
uid | NSString *_Nonnull | 操作を実行するユーザーの ID です。 |
isMute | BOOL | YES の値はカメラトラックのキャプチャが有効であることを示します。NO の値はカメラトラックのキャプチャが無効であることを示します。 |
onUserWillResignActive
リモートユーザーがアプリケーションをバックグラウンドに切り替えたときに呼び出されるコールバックです。
- (void)onUserWillResignActive:(NSString *_Nonnull)uid;パラメーター
パラメーター | タイプ | 説明 |
uid | NSString *_Nonnull | アプリをバックグラウンドに切り替えたユーザーの ID です。 |
onUserWillBecomeActive
リモートユーザーがアプリケーションをフォアグラウンドに戻したときに呼び出されるコールバックです。
- (void)onUserWillBecomeActive:(NSString *_Nonnull)uid;パラメーター
パラメーター | タイプ | 説明 |
uid | NSString *_Nonnull | アプリをフォアグラウンドに戻したユーザーの ID です。 |
onRtcStats
リアルタイム統計のコールバックです。このコールバックは 2 秒ごとに呼び出されます。
- (void)onRtcStats:(AliRtcStats)stats;パラメーター
パラメーター | タイプ | 説明 |
stats | データコールバック |
onRtcLocalVideoStats
ローカル映像パフォーマンス統計(2 秒ごとに更新がトリガーされます)。
- (void)onRtcLocalVideoStats:(AliRtcLocalVideoStats *_Nonnull)localVideoStats;パラメーター
パラメーター | タイプ | 説明 |
localVideoStats | ローカル映像統計です。 |
onRtcRemoteVideoStats
リモート映像パフォーマンス統計。2 秒ごとにトリガーされます。
- (void)onRtcRemoteVideoStats:(AliRtcRemoteVideoStats *_Nonnull)remoteVideoStats;パラメーター
パラメーター | タイプ | 説明 |
remoteVideoStats | リモート映像統計です。 |
onRtcLocalAudioStats
ローカル音声統計(2 秒ごとにトリガーされます)。
- (void)onRtcLocalAudioStats:(AliRtcLocalAudioStats *_Nonnull)localAudioStats;パラメーター
パラメーター | タイプ | 説明 |
localAudioStats | ローカル音声統計です。 |
onRtcRemoteAudioStats
このコールバックはリモート音声統計を提供し、2 秒ごとにトリガーされます。
- (void)onRtcRemoteAudioStats:(AliRtcRemoteAudioStats *_Nonnull)remoteAudioStats;パラメーター
パラメーター | タイプ | 説明 |
remoteAudioStats | リモート音声統計です。 |
onMediaExtensionMsgReceived
メディア拡張情報を含むコールバックを受信しました。
- (void)onMediaExtensionMsgReceived:(NSString *_Nonnull)uid payloadType:(int)payloadType message:(NSData *_Nonnull)data;ある参加者が sendMediaExtensionMsg メソッドを使用してメディア拡張メッセージを送信した後、他の参加者はこのコールバックを通じてデータを受信します。
パラメーター
パラメーター | タイプ | 説明 |
uid | NSString | ユーザー ID です。 |
payloadType | int | ペイロードタイプです。 |
message | NSData * | メディア拡張メッセージです。 |
onAudioRouteChanged
このコールバックは、音声ルートが変更されたときに呼び出され、Android と iOS にのみ適用されます。
- (void)onAudioRouteChanged:(AliRtcAudioRouteType)routing;パラメーター
パラメーター | タイプ | 説明 |
routing | ルーティングタイプです。 |
onSnapshotComplete
スナップショット操作が完了したときに呼び出されるコールバックです。
- (void)onSnapshotComplete:(NSString*_Nullable)uid videoTrack:(AliRtcVideoTrack)videoTrack image:(UIImage* _Nullable)image success:(BOOL)success;パラメーター
パラメーター | タイプ | 説明 |
image | UIImage * | イメージタイプです。 |
success | BOOL | 操作が成功したかどうか。 |
onLocalAudioStateChanged
ローカル音声キャプチャデバイスの状態が変更されたときに発生します。
- (void)onLocalAudioStateChanged:(AliRtcLocalAudioStateType)state message:(NSString *_Nullable)msg;このコールバックは、startAudioCapture と stopAudioCapture を呼び出した結果を報告します。
パラメーター
パラメーター | タイプ | 説明 |
state | デバイスの状態。タイプは AliRtcLocalAudioStateType です。 | |
msg | NSString * | デバイスの状態変更の説明です。 |
onLocalVideoStateChanged
ローカル映像キャプチャデバイスのステータスのコールバックです。
- (void)onLocalVideoStateChanged:(AliRtcLocalVideoStateType)state message:(NSString *_Nullable)msg;パラメーター
パラメーター | タイプ | 説明 |
state | デバイスの状態。タイプは AliRtcLocalVideoStateType です。 | |
msg | NSString * | デバイスの状態変更の説明です。 |
onRemoteUserSubscribedDataChannel
データチャネルメッセージの送信を開始できるときに呼び出されるコールバックです。
- (void)onRemoteUserSubscribedDataChannel:(NSString *_Nonnull)uid;このコールバックは、リモートユーザーがデータチャネルをサブスクライブしたときにトリガーされます。これにより、指定されたリモートユーザーがカスタムメッセージを受信する準備ができたことがローカルユーザーに通知されます。この時点で sendDataChannelMessage を安全に呼び出してデータを送信できます。このコールバックは、対象ユーザーがデータチャネルをサブスクライブする前にメッセージが送信された場合に発生するパケット損失や失敗を防ぐため、信頼性の高いメッセージ配信に不可欠です。
このコールバックは AI シナリオでのみトリガーされます。
パラメーター
パラメーター | タイプ | 説明 |
uid | NSString * | ユーザー ID です。 |
onDataChannelMessage
このコールバックはデータチャネルメッセージを処理します。
- (void)onDataChannelMessage:(NSString *_Nonnull)uid controlMsg:(AliRtcDataChannelMsg*_Nonnull)controlMsg;ARTC SDK は、音声および映像データとともにカスタムメッセージの送受信をサポートしています。このコールバックは、これらのカスタムメッセージを受信します。使用方法の詳細については、「カスタムメッセージの送受信」をご参照ください。
インタラクティブシナリオでは、ストリーマーはメッセージを送受信できますが、視聴者はメッセージの受信のみ可能です。
この機能はデフォルトで無効になっています。有効にするには、エンジン作成後に
setParameterを呼び出して{"data":{"enablePubDataChannel":true,"enableSubDataChannel":true}}を設定します。
トリガーされたとき
このコールバックは、送信者が sendDataChannelMessage を呼び出してカスタムメッセージを送信し、受信者がデータチャネルを有効にした後にトリガーされます。
パラメーター
パラメーター | タイプ | 説明 |
uid | NSString * | ユーザー ID です。 |
controlMsg | データチャネルメッセージです。 |
onScreenSharePublishStateChanged
このコールバックは、画面共有のストリームアップロードステータスが変更されたときに呼び出されます。
- (void)onScreenSharePublishStateChanged:(AliRtcPublishState)oldState newState:(AliRtcPublishState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;パラメーター
パラメーター | タイプ | 説明 |
oldState | プローブ結果です。0 は成功を意味します。-1 はネットワーク品質の悪さによる失敗を意味します。 | |
newState | 以前の配信状態です。 | |
newState | 新しい配信状態です。 | |
elapseSinceLastState | NSInteger | 状態変更間の時間間隔(ミリ秒単位)。 |
channel | NSString * | 現在のチャネル ID です。 |
onCapturedAudioFrame
生データ収集のコールバックです。
- (BOOL)onCapturedAudioFrame:(AliRtcAudioFrame* _Nonnull)frame;このコールバックは、現在のデバイスでキャプチャされた生の音声データを取得します。デフォルトでは無効になっています。このデータを受信するには:
enableAudioFrameObserver(true, audioSource, config) を使用してこのコールバックを有効にできます。config パラメーターで、サンプルレート、サウンドチャネル数、読み取り/書き込みモードを設定できます。
registerAudioFrameObserver を呼び出して、音声データ受信者を登録できます。
このインターフェイスは、サンプルレート、サウンドチャネル数、読み取り/書き込みモードの設定をサポートしています。
このコールバックで時間のかかる操作を実行すると、音声の異常が発生する可能性があるため、避けてください。
このインターフェイスは、サンプルレートとサウンドチャネル数の設定をサポートしています。
このインターフェイスは、読み取り/書き込みモードをサポートしています。
制限事項
このコールバックで時間のかかる操作を実行しないでください。音声の異常が発生する可能性があります。
パラメーター
パラメーター | タイプ | 説明 |
frame | 映像フレームです。 |
戻り値
true:操作は成功しました。
onProcessCapturedAudioFrame
このコールバックは、3A 処理後の音声データを配信します。
- (BOOL)onProcessCapturedAudioFrame:(AliRtcAudioFrame* _Nonnull)frame;このコールバックを使用して、3A 処理後の音声データを取得できます。デフォルトでは無効になっています。有効にするには:
enableAudioFrameObserver(true, audioSource, config) を呼び出します。config パラメーターで、サンプルレート、サウンドチャネル数、読み取り/書き込みモードを設定できます。
registerAudioFrameObserver を呼び出して、音声データ受信者を登録します。
このインターフェイスは、サンプルレート、サウンドチャネル数、読み取り/書き込みモードの設定をサポートしています。
このコールバックで時間のかかる操作を実行すると、音声の異常が発生する可能性があるため、避けてください。
このインターフェイスは、サンプルレートとサウンドチャネル数の設定をサポートしています。
このインターフェイスは、読み取り/書き込みモードをサポートしています。
制限事項
このコールバックで時間のかかる操作を実行すると、音声の異常が発生する可能性があるため、避けてください。
パラメーター
パラメーター | タイプ | 説明 |
frame | 映像フレームです。 |
戻り値
true:成功。
onPublishAudioFrame
ストリームアップロードデータのコールバックです。
- (BOOL)onPublishAudioFrame:(AliRtcAudioFrame* _Nonnull)frame;このコールバックは、配信中の音声データを取得します。デフォルトでは無効になっています。このデータを取得するには:
enableAudioFrameObserver(true, audioSource, config) を使用してこのコールバックを有効にできます。config パラメーターで、サンプルレート、サウンドチャネル数、読み取り/書き込みモードを設定できます。
registerAudioFrameObserver を呼び出して、音声データ受信者を登録できます。
このインターフェイスは、サンプルレートとサウンドチャネル数の構成をサポートしていますが、読み取り専用モードでのみです。
このコールバックで時間のかかる操作を実行すると、音声の異常が発生する可能性があるため、避けるべきです。
このインターフェイスは、サンプルレートとサウンドチャネル数の構成をサポートしています。
このインターフェイスは、読み取り/書き込みモードをサポートしています。
制限事項
このコールバックで時間のかかる操作は避けてください。音声の異常が発生する可能性があります。
パラメーター
パラメーター | タイプ | 説明 |
frame | 映像フレームです。 |
戻り値
true:操作は成功しました。
onPlaybackAudioFrame
音声再生データのコールバックです。
- (BOOL)onPlaybackAudioFrame:(AliRtcAudioFrame* _Nonnull)frame;このコールバックは音声再生データを取得します。デフォルトでは無効になっています。このデータを取得するには:
enableAudioFrameObserver(true, audioSource, config) を使用してこのコールバックを有効にします。config パラメーターで、サンプルレート、サウンドチャネル数、読み取り/書き込みモードを設定できます。
registerAudioFrameObserver を呼び出して、音声データ受信者を登録します。
このインターフェイスは、サンプルレート、サウンドチャネル数、読み取り/書き込みモードの設定をサポートしています。
このコールバックで時間のかかる操作を実行すると、音声の異常が発生する可能性があるため、避けてください。
このインターフェイスは、サンプルレートとサウンドチャネル数の設定をサポートしています。
このインターフェイスは、読み取り/書き込みモードをサポートしています。
制限事項
このコールバックで時間のかかる操作を実行しないでください。音声の異常が発生する可能性があります。
パラメーター
パラメーター | タイプ | 説明 |
frame | 映像フレームです。 |
戻り値
true:成功。
onRemoteUserAudioFrame
このコールバックは、リモートユーザーの音声ストリームからの音声データを配信します。
- (BOOL)onRemoteUserAudioFrame:(NSString *_Nullable)uid frame:(AliRtcAudioFrame* _Nonnull)frame;このコールバックはデフォルトで無効になっています。リモートユーザーの音声データを取得するには:
enableAudioFrameObserver(true, audioSource, config) を呼び出してコールバックを有効にします。config パラメーターで、サンプルレート、サウンドチャネル数、読み取り/書き込みモードを指定できます。
registerAudioFrameObserver を呼び出して、音声データ受信者を登録します。
このインターフェイスは、サンプルレートやサウンドチャネル数の設定をサポートしていませんが、読み取り/書き込みモードの構成はサポートしています。
このコールバックで時間のかかる操作を実行すると、音声の異常が発生する可能性があるため、避けてください。
このインターフェイスは、サンプルレートやサウンドチャネル数の設定をサポートしていません。
このインターフェイスは、読み取り/書き込みモードの構成をサポートしています。
制限事項
このコールバックで時間のかかる操作を実行すると、音声の異常が発生する可能性があるため、避けてください。
パラメーター
パラメーター | タイプ | 説明 |
frame | 映像フレームです。 |
戻り値
true:操作は成功しました。
onDestroyCompletion
DPI エンジンを解放するコールバックです。このコールバックが実行された後にのみ、エンジンの解放が完了します。
- (void)onDestroyCompletion;このコールバックは、SDK エンジンインスタンスが破棄されたことを示し、新しいインスタンスを作成できます。
他のメソッドを呼び出す前に、onDestroyCompletion コールバックを待ってください。これにより、メインスレッドがブロックされるのを防ぎます。
トリガー条件
ユーザーが destroy[2/2] を呼び出すと、エンジンの破棄が完了した後にこのコールバックがトリガーされます。
onTextureCreate
OpenGL コンテキスト作成のコールバックです。
- (void)onTextureCreate:(void *_Nullable)context;SDK は、内部の OpenGL コンテキストを作成する際にこのコールバックをトリガーします。
トリガー条件
このコールバックは、SDK が内部の OpenGL コンテキストを作成したときにトリガーされます。このコールバックで関連リソースを初期化できます。
パラメーター
パラメーター | タイプ | 説明 |
context | void * | OpenGL コンテキストです。 |
onTextureUpdate
OpenGL テクスチャ更新コールバックです。
- (int)onTextureUpdate:(int)textureId width:(int)width height:(int)height videoSample:(AliRtcVideoDataSample *_Nonnull)videoSample;このコールバックは、各映像フレームが OpenGL テクスチャにアップロードされた後にトリガーされます。外部 OpenGL テクスチャオブザーバーが登録されている場合、テクスチャを処理し、処理されたテクスチャ ID を返すことができます。
コールバックは有効なテクスチャ ID を返す必要があります。処理が行われない場合は、入力された textureId を返します。
トリガー条件
このコールバックは、各映像フレームが OpenGL テクスチャにアップロードされた後にトリガーされます。外部 OpenGL テクスチャオブザーバーが登録されている場合、テクスチャを処理し、処理されたテクスチャ ID を返すことができます。
パラメーター
パラメーター | タイプ | 説明 |
textureId | int | OpenGL コンテキストです。 |
width | int | 映像の幅です。 |
height | int | 映像の高さです。 |
videoSample | 映像フレームデータです。 |
戻り値
新しいテクスチャ ID または元のテクスチャ ID を返します。負の値を返すと、テクスチャ ID の更新がないことを示します。
onTextureDestory
OpenGL コンテキストの破棄コールバックです。
- (void)onTextureDestory;このコールバックは、SDK が内部の OpenGL コンテキストを破棄したときにトリガーされます。
トリガー条件
このコールバックは、SDK が内部の OpenGL コンテキストを破棄したときにトリガーされます。ここで関連リソースをクリーンアップできます。
onCaptureVideoSample
このコールバックはキャプチャされた映像フレームを報告します。
- (BOOL)onCaptureVideoSample:(AliRtcVideoSource)videoSource videoSample:(AliRtcVideoDataSample *_Nonnull)videoSample;このコールバックは、ローカルカメラから YUV データなどの生の映像フレームを取得します。このコールバックを使用して、フィルター、ウォーターマークの追加、またはトランスコーディングなどのカスタム映像処理ロジックを実装できます。その後、処理されたデータを SDK に送り返してエンコーディングとレンダリングを行うかどうかを決定できます。処理された映像データを SDK に書き戻すには true を返します。
トリガーされたとき
<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#9a3437ab16j1w" id="6c93b9cf8e771">registerVideoSampleObserver</a> を呼び出して映像データオブザーバーを登録した後、SDK は対応する映像フレームをキャプチャします。
パラメーター
パラメーター | タイプ | 説明 |
videoSource | 映像ストリームのタイプです。 | |
videoSample | 生の映像データです。 |
戻り値
はい、処理された映像データを SDK に書き戻すことができますが、これは iOS および macOS の I420 および CVPixelBuffer でのみサポートされています。
いいえ:SDK に書き戻さないでください。
onPreEncodeVideoSample
このコールバックは、ローカル映像データがエンコードされる前にトリガーされます。
- (BOOL)onPreEncodeVideoSample:(AliRtcVideoSource)videoSource videoSample:(AliRtcVideoDataSample *_Nonnull)videoSample;
このコールバックを使用すると、SDK が映像フレームをエンコードする前に、YUV 形式などの生の映像データを取得できます。このデータを使用して、ウォーターマークの追加、色の調整、トランスコーディングなどのカスタム処理ロジックを実装できます。その後、処理されたデータを後続のエンコーディングのために SDK に返すかどうかを決定できます。
パラメーター
パラメーター | タイプ | 説明 |
videoSource | 映像ストリームのタイプです。 | |
videoSample | 生の映像データです。 |
戻り値
YES:処理された映像データは SDK に返されます。これは、iOS および macOS 上の I420 および CVPixelBuffer 形式のデータに対してのみ有効です。
いいえ、SDK に書き戻す必要はありません。
onRemoteVideoSample
リモート映像データのコールバックです。
- (BOOL)onRemoteVideoSample:(NSString *_Nonnull)uid videoSource:(AliRtcVideoSource)videoSource videoSample:(AliRtcVideoDataSample *_Nonnull)videoSample;このコールバックは、リモートユーザーからの生の映像フレームデータ(YUV 形式など)を取得します。これを使用して、フィルター、ウォーターマークの追加、トランスコーディングなどのカスタム処理ロジックを実装し、処理されたデータを SDK に返してレンダリングするかどうかを決定できます。
パラメーター
パラメーター | タイプ | 説明 |
uid | NSString * | ユーザー ID です。 |
videoSource | 映像ストリームのタイプです。 | |
videoSample | 生の映像データです。 |
戻り値
YES:処理された映像データを SDK に書き戻します(iOS/macOS の I420 および CVPixelBuffer でのみ有効)。
NO:SDK に書き戻しません。
onGetVideoFormatPreference
映像データ出力フォーマットです。
- (AliRtcVideoFormat)onGetVideoFormatPreference;アプリケーションは、優先する映像データ形式を返すことができます。デフォルト値は AliRtcYUV420 です。
戻り値
優先される映像出力フォーマットです。
onGetVideoObservedFramePosition
映像データが出力される位置です。
- (NSInteger)onGetVideoObservedFramePosition;戻り値
優先される映像出力位置です。詳細については、AliRtcVideoObserPosition をご参照ください。
onAudioEffectFinished
ローカルでの効果音の再生が終了したときに呼び出されるコールバックです。
- (void)onAudioEffectFinished:(int)soundId;パラメーター
パラメーター | タイプ | 説明 |
soundId | int | 効果音の ID です。 |
onAudioVolumeCallback
サブスクライブしているユーザーの音声ボリューム、音声状態、UID を報告します。
- (void)onAudioVolumeCallback:(NSArray <AliRtcUserVolumeInfo *> *_Nullable)array totalVolume:(int)totalVolume;このコールバックはリモートユーザーの映像フレームデータを取得します。このコールバックを使用して、フィルターやウォーターマークの追加などのカスタム処理ロジックを実装し、処理されたデータを SDK にレンダリングのために返すかどうかを決定できます。
パラメーター
パラメーター | タイプ | 説明 |
array | NSArray <AliRtcUserVolumeInfo *> *_Nullable | 各ユーザーのボリューム情報を含む配列。UID、音声状態、ボリュームを含みます。
|
totalVolume | int | 音声がミックスされた後のボリュームです。有効な値:0 から 255。このコールバックがローカルユーザーに返された場合、このパラメーターの値はローカルユーザーの音声がミックスされた後のボリュームを示します。このコールバックがリモートユーザーに返された場合、このパラメーターの値はすべてのスピーカーからの音声がミックスされた後のボリュームを示します。 |
onActiveSpeaker
ユーザーが話したときに呼び出されるコールバックです。
- (void)onActiveSpeaker:(NSString *_Nonnull)uid;<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#85b41ef251dg0" id="a41de41e279og">enableAudioVolumeIndication</a> を正常に呼び出した後、SDK は最も音量の大きいリモートユーザーを継続的に監視し、そのユーザーが最も音量が大きいと識別された回数を追跡します。現在の期間中に、最もカウントが多いリモートユーザーが最もアクティブなユーザーと見なされます。
トリガー条件
このコールバックは、チャネルに 2 人以上のユーザーがいて、少なくとも 1 人のリモートユーザーが積極的に話しているときにトリガーされます。
最もアクティブなリモートユーザーが変わらない場合、SDK は
onActiveSpeakerコールバックを再度トリガーしません。最もアクティブなリモートスピーカーが変わった場合、SDK はこのコールバックを再度トリガーし、新しいアクティブスピーカーの UID を報告します。
パラメーター
パラメーター | タイプ | 説明 |
uid | NSString *_Nonnull | 話しているユーザーの ID です。 |
onPublishLiveStreamStateChanged
リレー型ライブストリーミングのステータスが変更されたときに呼び出されるコールバックです。
- (void)onPublishLiveStreamStateChanged:(NSString *_Nonnull)streamURL state:(AliRtcLiveTranscodingState)state errCode:(AliRtcTrascodingLiveStreamErrorCode)errCode;パラメーター
パラメーター | タイプ | 説明 |
streamURL | NSString * | アップストリーミング URL です。 |
state | ステータスです。 | |
errCode | エラーコードです。 |
onPublishTaskStateChanged
リレー型ライブストリーミングタスクのステータスが変更されたときに呼び出されるコールバックです。
- (void)onPublishTaskStateChanged:(NSString *_Nonnull)streamURL state:(AliRtcTrascodingLiveTaskStatus)state;パラメーター
パラメーター | タイプ | 説明 |
streamURL | NSString * | アップストリーミング URL です。 |
state | ステータスです。 |
onNetworkQualityChanged
ネットワーク品質が変更されたときに呼び出されるコールバックです。
- (void)onNetworkQualityChanged:(NSString *_Nonnull)uid
upNetworkQuality:(AliRtcNetworkQuality)upQuality
downNetworkQuality:(AliRtcNetworkQuality)downQuality;パラメーター
パラメーター | タイプ | 説明 |
uid | NSString* | ユーザー ID です。このパラメーターが空の値の場合、ローカルユーザーを示します。 |
upQuality | アップストリームのネットワーク状態です。 | |
downQuality | ダウンストリームのネットワーク状態です。 |
onLastmileDetectResultWithQuality
ネットワーク品質テストの結果のコールバックです。
- (void)onLastmileDetectResultWithQuality:(AliRtcNetworkQuality)networkQuality;パラメーター
パラメーター | タイプ | 説明 |
networkQuality | ネットワーク品質です。 |
onLastmileDetectResultWithBandWidth
ネットワーク品質テストの結果を返すために呼び出されるコールバックです。
- (void)onLastmileDetectResultWithBandWidth:(int)code result:(AliRtcNetworkQualityProbeResult* _Nonnull)result;パラメーター
パラメーター | タイプ | 説明 |
code | int | 0 の値はテストが成功したことを示します。-1 の値はテストが失敗し、ネットワークが不良であることを示します。 |
result | ネットワーク品質です。 |
onOccurError
エンジンでエラーが発生した場合、このコールバックを通じてアプリに通知されます。
- (void)onOccurError:(int)error message:(NSString *_Nonnull)message;パラメーター
パラメーター | タイプ | 説明 |
error | int | エラータイプです。AliRtcErrorCode をご参照ください。 |
message | NSString * | エラーの説明です。 |
onFirstAudioPacketSentWithTimecost
最初の音声パケットが送信されたときに呼び出されます。
- (void)onFirstAudioPacketSentWithTimecost:(AliRtcAudioTrack)track timeCost:(int)timeCost;パラメーター
パラメーター | タイプ | 説明 |
track | そのトラックです。 | |
timeCost | int | パケットの送信にかかった時間です。 |
onFirstVideoFrameReceivedWithUid
このコールバックは、最初の映像フレームが受信されたときに呼び出されます。
- (void)onFirstVideoFrameReceivedWithUid:(NSString *_Nonnull)uid
videoTrack:(AliRtcVideoTrack)videoTrack
timeCost:(int)timeCost;パラメーター
パラメーター | タイプ | 説明 |
uid | NSString * | ユーザー ID です。 |
videoTrack | 映像ストリームのラベルです。 | |
timeCost | int | 時間コスト(ミリ秒単位)です。 |
onFirstVideoPacketSentWithVideoTrack
最初に送信された映像パケットのコールバックです。
- (void)onFirstVideoPacketSentWithVideoTrack:(AliRtcVideoTrack)videoTrack
timeCost:(int)timeCost;パラメーター
パラメーター | タイプ | 説明 |
videoTrack | 映像ストリームのラベルです。 | |
timeCost | int | 時間コスト(ミリ秒単位)です。 |
onFirstAudioPacketReceivedWithUid
このコールバックは、最初の音声パケットが受信されたときに呼び出されます。
- (void)onFirstAudioPacketReceivedWithUid:(NSString *_Nonnull)uid
track:(AliRtcAudioTrack)track
timeCost:(int)timeCost;パラメーター
パラメーター | タイプ | 説明 |
uid | NSString * | ユーザー ID です。 |
videoTrack | 音声ストリームのラベルです。 | |
timeCost | int | 時間コスト(ミリ秒単位)です。 |
onFirstRemoteAudioDecodedWithUid
最初のリモート音声フレームがデコードされたときに発生します。
- (void)onFirstRemoteAudioDecodedWithUid:(NSString *_Nonnull)uid track:(AliRtcAudioTrack)track elapsed:(int)elapsed;パラメーター
パラメーター | タイプ | 説明 |
uid | NSString * | ユーザー ID です。 |
track | 音声ストリームのラベルです。 | |
elapsed | int | 時間コスト(ミリ秒単位)です。 |
onFirstRemoteVideoFrameDrawn
このコールバックは、リモートユーザーからの最初の映像フレームがレンダリングされたときに呼び出されます。
- (void)onFirstRemoteVideoFrameDrawn:(NSString *_Nonnull)uid videoTrack:(AliRtcVideoTrack)videoTrack width:(int)width height:(int)height elapsed:(int)elapsed;パラメーター
パラメーター | タイプ | 説明 |
uid | NSString * | ユーザー ID です。 |
videoTrack | 音声ストリームのラベルです。 | |
width | int | 幅です。 |
height | int | 高さです。 |
elapsed | int | ローカルユーザーがチャネルに参加してからこのコールバックが発行されるまでの合計遅延時間(ミリ秒単位)。 |
onFirstLocalVideoFrameDrawn
このメッセージは、プレビューが最初の映像フレームを表示し始めたときにトリガーされます。
- (void)onFirstLocalVideoFrameDrawn:(int)width height:(int)height elapsed:(int)elapsed;パラメーター
パラメーター | タイプ | 説明 |
width | int | ローカルプレビュー映像の幅です。 |
height | int | ローカルプレビュー映像の高さです。 |
elapsed | int | ローカルユーザーがチャネルに参加してからこのコールバックが発行されるまでの合計遅延時間(ミリ秒単位)。 |
onTestAudioVolumeCallback
このコールバックは、通話前のキャプチャテスト中の音声ボリュームを報告します。
- (void)onTestAudioVolumeCallback:(int)volume;パラメーター
パラメーター | タイプ | 説明 |
volume | int | ボリュームです。範囲:[0..100]。 |
onAudioAccompanyStateChanged
ローカルの伴奏再生状態が変更されたときに呼び出されるコールバックです。
- (void)onAudioAccompanyStateChanged:(AliRtcAudioAccompanyStateCode)playState
errorCode:(AliRtcAudioAccompanyErrorCode)errorCode;パラメーター
パラメーター | タイプ | 説明 |
playState | 伴奏の再生状態です。 | |
errorCode | エラーコードです。 |
onRemoteAudioAccompanyStarted
このコールバックは、リモートユーザーが音楽伴奏の再生を開始したときにトリガーされます。
- (void)onRemoteAudioAccompanyStarted:(NSString *_Nonnull)uid;パラメーター
パラメーター | タイプ | 説明 |
uid | NSString * | ユーザー ID です。 |
onRemoteAudioAccompanyFinished
このコールバックは、リモートユーザーが音声伴奏の再生を終了したときに呼び出されます。
- (void)onRemoteAudioAccompanyFinished:(NSString *_Nonnull)uid;パラメーター
パラメーター | タイプ | 説明 |
uid | NSString * | ユーザー ID です。 |
setParameter
カスタムパラメーターを設定します。
- (int)setParameter:(NSString * _Nonnull)param;パラメーター
パラメーター | タイプ | 説明 |
param | String | カスタムパラメーターです。 |
getParameter
カスタムパラメーターを照会します。
- (NSString * _Nonnull)getParameter:(NSString * _Nonnull)param;パラメーター
パラメーター | タイプ | 説明 |
param | String | カスタムパラメーターです。 |
enableAudioFrameObserver
音声コールバック設定を構成します。
- (int)enableAudioFrameObserver:(bool)enable audioSource: (AliRtcAudioSource)audioSource config:(AliRtcAudioFrameObserverConfig*_Nullable)config;このメソッドは、指定されたタイプの音声データのコールバックを有効または無効にし、開発者が生の音声フレームとエンコードされた音声フレームを取得できるようにします。デフォルトでは、これらのコールバックは無効になっています。有効にするには、このメソッドを呼び出します。
特定の AliRtcAudioSource の音声データコールバックを有効にするには、registerAudioFrameObserver を呼び出して音声データ受信者を指定する必要もあります。
呼び出しタイミング
このメソッドを呼び出して、音声フレームの取得を有効にできます。
パラメーター
パラメーター | タイプ | 説明 |
enable | bool | コールバックを許可するかどうかを指定します。 |
audioSource | コールバックデータソースのタイプです。 | |
config | AliRtcAudioFrameObserverConfig | コールバックパラメーター設定です。 |
registerAudioFrameObserver
音声コールバックを登録します。
- (int)registerAudioFrameObserver:(id<AliRtcAudioFrameDelegate> _Nullable)observer;このメソッドは、音声コールバックデータを受信するオブジェクトを登録します。
呼び出しのタイミング
アプリが SDK に onCapturedAudioFrame、onProcessCapturedAudioFrame、onPublishAudioFrame、onPlaybackAudioFrame、または onRemoteUserAudioFrame コールバックをトリガーさせて音声データを取得する必要がある場合に、このメソッドを呼び出すことができます。登録を解除するには、nil を指定してこのメソッドを再度呼び出します。
制限事項
特定の AliRtcAudioSource のコールバックを有効にするには、enableAudioFrameObserver を呼び出す必要があります。そうしないと、提供されたオブザーバーはデータを受信しません。
パラメーター
パラメーター | タイプ | 説明 |
observer | AliRtcAudioFrameDelegate | 音声コールバックです。 |
registerVideoSampleObserver
映像データをエクスポートするために使用されるオブジェクトを登録します。
- (void)registerVideoSampleObserver;unRegisterVideoSampleObserver
映像データ出力の登録をキャンセルできます。
- (void)unregisterVideoSampleObserver;setLogDirPath
SDK のログファイルの保存パスを設定します。
ログの損失を避けるために、他のすべてのメソッドを呼び出す前にこのメソッドを呼び出すことを推奨します。このメソッドを呼び出す前に、logDirPath パラメーターで指定されたパスが存在し、ログファイルをそのパスに書き込めることを確認してください。
+ (int)setLogDirPath:(NSString *_Nullable)logDirPath;パラメーター
名前 | タイプ | 説明 |
logDirPath | NSString *_Nullable | SDK のログファイルを保存するための絶対パスです。
|
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
setLogLevel
ログレベルを設定します。
- (void)setLogLevel:(AliRtcLogLevel)logLevel;パラメーター
名前 | タイプ | 説明 |
logLevel | ログレベル。デフォルト値:AliRtcLogLevelInfo。 |
setAudioSessionOperationRestriction
SDK が AVAudioSession を制御する権限を持つかどうかを指定します。
- (int)setAudioSessionOperationRestriction:(AliRtcAudioSessionOperationRestriction)restriction;パラメーター
名前 | タイプ | 説明 |
restriction | SDK の制御権限。デフォルト値:AliRtcAudioSessionOperationRestrictionNone。 |
setDeviceOrientationMode
デバイスの向きを設定できます。
- (int)setDeviceOrientationMode:(AliRtcOrientationMode)mode;パラメーター
名前 | タイプ | 説明 |
mode | デバイスの向きです。 |
戻り値
戻り値が 0 の場合、成功です。それ以外の値は失敗を示します。
getNetworkTime
タイムラインのタイムスタンプを取得します。
-(long long)getNetworkTime;戻り値
タイムスタンプです。
sendDataChannelMessage
-(int) sendDataChannelMessage:(AliRtcDataChannelMsg* _Nonnull)controlMsg;ARTC SDK は、音声および映像データとともにカスタムメッセージの送受信をサポートしています。このインターフェイスを使用すると、制御命令、同期データ、ビジネスメッセージなどのリアルタイムメッセージを、音声および映像の送信中に送信できます。詳細については、「カスタムメッセージの送受信」をご参照ください。
カスタムメッセージチャネルはデフォルトで無効になっています。この機能を使用するには、
setParameterAPI を呼び出して、{"data":{"enablePubDataChannel":true,"enableSubDataChannel":true}}を設定することでカスタムメッセージチャネルを有効にできます。チャネルに参加する前または後に有効にできます。メッセージはテキストなどの任意のデータにすることができます。
関連コールバック
送信者がカスタムメッセージチャネルを正常に有効にした後、このメソッドを呼び出してメッセージを送信できます。受信者は
onDataChannelMessageコールバックを通じてメッセージを受信します。
制限事項
ストリーマーはメッセージを送受信できます。視聴者はメッセージの受信のみ可能です。
カスタムメッセージチャネルを有効にするには、setParameter を呼び出す必要があります。
データ送信の制限は次のとおりです。
最大ビットレート:30 KB/s。
1 秒あたり最大 60 パケット。各パケットは 1 KB に制限されます。
パラメーター
名前 | タイプ | 説明 |
controlMsg | 伴奏制御メッセージです。 |
戻り値
0 は成功を示します。その他の値は失敗を示します。
startScreenShare
画面と音声ストリームの共有を開始できます。
- (int)startScreenShare:(NSString * _Nonnull)appGroup
mode:(AliRtcScreenShareMode)mode;パラメーター
名前 | 説明 |
appGroup | アプリのパッケージ名です。例:@"group.com.aliyun.rtc.demo" |
mode | 画面共有のタイプです。詳細については、AliRtcScreenShareMode をご参照ください。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
startScreenShare
画面映像ストリームの共有を開始できます。
このメソッドは廃止予定です。startScreenShare (new) の使用を推奨します。
- (int)startScreenShare;戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
stopScreenShare
画面共有ストリームと関連する音声ストリームを停止します。
- (int)stopScreenShare;戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
isScreenSharePublished
画面共有ストリームが取り込まれているかどうかを照会します。
- (BOOL)isScreenSharePublished;戻り値の説明
true:画面共有ストリームがアップロードされています。false:画面共有ストリームはアップロードされていません。
setScreenShareEncoderConfiguration
画面共有エンコーダーの構成を設定します。
- (void)setScreenShareEncoderConfiguration:(AliRtcScreenShareEncoderConfiguration* _Nonnull)config;このメソッドは、解像度、フレームレート、ビットレート、向きなど、画面共有の映像エンコーディングプロパティを構成します。すべてのパラメーターには有効な範囲があります。無効な値を指定した場合、SDK は自動的に有効な値に調整します。このメソッドはチャネルに参加する前または後に呼び出すことができます。セッションごとに画面共有エンコーディングを一度構成するには、参加前に呼び出すことができます。
パラメーター
名前 | タイプ | 説明 |
config | 画面共有映像エンコーディングパラメーター(解像度、フレームレート、ビットレート、向きなど)。すべてのパラメーターには有効な範囲があります。無効な値を指定した場合、SDK は自動的に調整します。 |
setAudioShareAppVolume
共有音声ストリームのボリュームを設定します。
- (int)setAudioShareAppVolume:(int)volume;パラメーター
名前 | 説明 |
volume | ボリュームです。有効な値:0 から 100。デフォルト値:50。 |
戻り値の説明
0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。
setGlobalEnvironment
グローバル環境を設定できます。
- (BOOL) setGlobalEnvironment:(AlivcGlobalEnv)env;このメソッドは、SDK のグローバルランタイム環境を指定し、主にログとイベントトラッキングデータの送信先を決定します。
中国本土に設定されている場合、ログとイベントトラッキングは中国本土のデータセンターに送信されます。
中国以外に設定されている場合、データは海外のデータセンター(シンガポールなど)にルーティングされます。
呼び出しタイミング
アプリの初期化の早い段階でこれを呼び出すことを推奨します。
制限事項
この設定はグローバルに適用され、1 回の呼び出しのみが必要です。
複数回の呼び出しは以前の環境設定を上書きします。環境を動的に変更すると、既存の接続やセッションに影響を与える可能性があるため、プロセス実行中は変更しないでください。
呼び出し例
var sdkEnv: AlivcGlobalEnv = .DEFAULT
let sdkEnvResult = AlivcBase.environmentManager.setGlobalEnvironment(self.sdkEnv)
"Set RTC environment to: \(sdkEnv) result: \(sdkEnvResult)".printLog()AlivcGlobalEnv env = AlivcGlobalEnv_DEFAULT;
AlivcBase.EnvironmentManager.globalEnvironment = env;パラメーター
パラメーター | タイプ | 説明 |
env |
| グローバル環境を指定します。以下の列挙値をサポートします。 |
戻り値int の結果コードを返します。
0:操作は成功しました。0以外の値は失敗を示します。