このトピックでは、リアルタイム音声・映像 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-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 | 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 を使用してプレビュービューを設定できます。そうしないと、プレビューは失敗しますが、アップストリーミングは影響を受けません。
joinChannel の前にこのメソッドを呼び出して、プレビューを早期に開始できます。カメラは自動的に起動します。
戻り値の説明
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 は状態を保存し、プレビューまたはエンコーディング (アップストリーミング) 中にミラーリングを適用します。
制限事項
このメソッドは、mirrorMode パラメーターをサポートする setLocalViewConfig および setVideoEncoderConfiguration と重複します。このメソッドのみを使用することを推奨します。
パラメーター
名前 | タイプ | 説明 |
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 はメディア拡張メッセージの送受信をサポートしています。メッセージは Supplemental Enhancement Information (SEI) プロトコルを使用して送信されます。受信者は 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 をキーフレームにのみアタッチするかどうか。SEI をキーフレームにのみアタッチするには true に設定します。 |
戻り値
戻り値 0 は成功を示します。その他の値は失敗を示します。
sendMediaExtensionMsgEx
メディア拡張情報は、下位層で SEI を使用して送信および実装されます。
- (int)sendMediaExtensionMsgEx:(NSData *_Nonnull)data repeatCount:(int)repeatCount delay:(int)delay isKeyFrame:(bool)isKeyFrame payloadType:(int)payloadType;SDK はメディア拡張メッセージの送受信をサポートしています。このメソッドは、Supplemental Enhancement Information (SEI) プロトコルを使用してメッセージを送信します。受信者は、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 をキーフレームにのみアタッチするかどうか。SEI をキーフレームにのみアタッチするには true に設定します。 |
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}}を設定します。ARTC DataChannel は、オーディオおよびビデオストリームの接続性に依存します。メッセージの送信にはストリームのプッシュが必要であり、メッセージの受信にはストリームのプルが必要です。双方向通信は、オーディオおよびビデオストリーミングに基づいています。
トリガーされるタイミング
このコールバックは、送信者が 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。 |
ビデオトラック | オーディオストリームのラベル。 | |
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}}を設定してカスタムメッセージチャネルを有効にできます。チャンネルに参加する前または後に有効にできます。メッセージはテキストなどの任意のデータにすることができます。
ARTC DataChannel 機能は、ストリーミング端末がオーディオまたはビデオストリームをプッシュすることに依存します。シーンでオーディオおよびビデオストリームがプッシュされていることを確認してください。
関連するコールバック
送信者がカスタムメッセージチャネルを正常に有効にした後、このメソッドを呼び出してメッセージを送信できます。受信者は
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以外の値は失敗を示します。