すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo Live:AliRtcEngine インターフェイス

最終更新日:Feb 08, 2026

本トピックでは、ApsaraVideo Real-time Communication iOS SDK が提供するインターフェイスについて説明します。

目次

基本メソッド

API

説明

sharedInstance

AliRtcEngine インスタンスを作成します。これはシングルトンメソッドです。

destroy[1/2]

AliRtcEngine インスタンスを同期的に破棄します。

destroy[2/2]

AliRtcEngine インスタンスを非同期的に破棄します。

setH5CompatibleMode

HTML5 互換モードの有効化を指定します。

getH5CompatibleMode

現在の環境が HTML5 と互換性があるかどうかを確認します。

getSdkVersion

SDK のバージョン番号を取得します。

チャネル関連メソッド

API

説明

setChannelProfile

チャネルモードを設定します。

setAudioProfile

音声プロファイルを設定します。

isAudioOnly

音声のみモードが有効かどうかを照会します。

setAudioOnlyMode

音声のみモードまたは音声・映像モードを有効にします。

joinChannel[1/3]

チャネルに参加します。

joinChannel[2/3]

チャネルに参加します。

joinChannel[3/3]

チャネルに参加します。

leaveChannel

チャネルから退出します。

isInCall

ユーザーがチャネル内にいるかどうかを確認します。

setClientRole

ユーザーの役割を指定します。

getCurrentClientRole

ユーザーの役割を照会します。

refreshAuthInfo

認証情報を更新します。

refreshAuthInfoWithToken

トークンを使用して認証情報を更新します。

配信およびサブスクリプション関連メソッド

API

説明

publishLocalAudioStream

音声トラックの配信を有効または無効にします。デフォルトでは、音声トラックが配信されます。

isLocalAudioStreamPublished

音声トラックが配信されているかどうかを照会します。

setDefaultSubscribeAllRemoteAudioStreams

リモートユーザーの音声トラックへのサブスクリプションを有効または無効にします。デフォルトでは、すべてのリモート音声トラックにサブスクライブされます。

このメソッドは、ユーザーがチャネルに参加する前に呼び出すことを推奨します。

subscribeRemoteAudioStream

特定のリモートユーザーの音声トラックへのサブスクリプションを開始または停止します。

subscribeAllRemoteAudioStreams

すべてのリモートユーザーの音声トラックへのサブスクリプションを開始または停止します。

publishLocalVideoStream

映像トラックの配信を有効または無効にします。

isLocalVideoStreamPublished

映像トラックが配信されているかどうかを照会します。

setDefaultSubscribeAllRemoteVideoStreams

リモートユーザーの映像トラックへのサブスクリプションを有効または無効にします。デフォルトでは、すべてのリモート映像トラックにサブスクライブされます。

このメソッドは、ユーザーがチャネルに参加する前に呼び出すことを推奨します。

subscribeRemoteVideoStream

リモートユーザーの映像トラックへのサブスクリプションを開始または停止します。

subscribeAllRemoteVideoStreams

すべてのリモートユーザーの映像トラックへのサブスクリプションを開始または停止します。

subscribeRemoteMediaStream[1/2]

特定のリモートユーザーのメディアストリームの停止または再開が可能です。

音声および映像トラックの両方が利用可能で、管理が必要な場合に、このメソッドを呼び出すことを推奨します。

subscribeRemoteMediaStream[2/2]

特定のリモートユーザーのメディアストリームの停止または再開が可能です。

音声および映像トラックの両方が利用可能で、管理が必要な場合に、このメソッドを呼び出すことを推奨します。

subscribeRemoteDestChannelStream

チャネル間で特定のリモートユーザーのメディアストリームの停止または再開が可能です。

subscribeRemoteDestChannelAllStream

対象チャネル内のすべてのユーザーのストリームをサブスクライブします。

setRemoteAudioVolume

リモートユーザーの音声ボリュームを設定します。

オーディオデバイス管理関連メソッド

API

説明

muteLocalMic

ローカル音声のミュートを有効または無効にします。

muteRemoteAudioPlaying

特定のリモートユーザーのオーディオ トラックの再生を停止するかどうかを指定します。

muteAllRemoteAudioPlaying

すべてのリモートユーザーのオーディオ トラックの再生を停止するかどうかを指定します。

startAudioCapture[1/2]

音声収集を開始します。

startAudioCapture[2/2]

音声収集を開始します。

stopAudioCapture

音声収集を停止します。

enableSpeakerphone

ヘッドセットまたはスピーカーを音声出力デバイスとして設定します。

isEnableSpeakerphone

現在の音声出力デバイスがヘッドセットかスピーカーかを照会します。

enableAudioVolumeIndication

ボリューム検出を有効にします。

enableEarBack

イヤーモニター機能を有効にします。

setEarBackVolume

イヤーモニターのボリュームを設定します。このメソッドは iOS のみで使用できます。

startAudioPlayer

音声再生を開始します。

stopAudioPlayer

音声再生を停止します。

setPlayoutVolume

再生ボリュームを設定します。

setRecordingVolume

収集ボリュームを設定します。

playAudioFileTest

音声再生デバイスのテストを開始します。

stopAudioFileTest

音声再生デバイスのテストを停止します。

startAudioCaptureTest

音声収集デバイスのテストを開始します。

stopAudioCaptureTest

音声収集デバイスのテストを停止します。

setDefaultAudioRoutetoSpeakerphone

デフォルトの音声出力デバイスを設定します。

ボイスチェンジおよびリバーブ関連メソッド

API

説明

setAudioEffectVoiceChangerMode

ボイスチェンジモードを設定します。

setAudioEffectPitchValue

ピッチ調整パラメーターを設定できます。

setAudioEffectReverbMode

リバーブモードを設定します。

setAudioEffectReverbParamType

リバーブモードのパラメーターを設定します。

setAudioEffectBeautifyMode

あらかじめ定義された音声美化エフェクトモードを設定します。

setAudioEffectEqualizationParam

音声イコライザー(EQ)パラメーターを設定し、指定周波数帯域でのゲインを調整します。

カスタム音声入力

API

説明

addExternalAudioStream

外部音声トラックを追加します。

pushExternalAudioStream

外部音声データをインポートします。

setExternalAudioStream:publishVolume

ストリームアップロード用の外部音声のボリュームを設定します。

getExternalAudioStreamPublishVolume

ストリームアップロード用の外部音声のボリュームを照会します。

setExternalAudioStream:playoutVolume

外部音声の再生ボリュームを設定します。

getExternalAudioStreamPlayoutVolume

外部音声の再生ボリュームを照会します。

removeExternalAudioStream

外部ストリームアップロードを削除します。

音楽伴奏

API

説明

getAudioFileInfo

音楽伴奏ファイルの情報を取得します。

startAudioAccompanyWithFile

伴奏ファイルの再生を開始します。

stopAudioAccompany

伴奏ファイルの再生を停止します。

setAudioAccompanyVolume

伴奏ボリュームを設定します。

setAudioAccompanyPublishVolume

伴奏ファイルを公開する際のボリュームを設定します。

getAudioAccompanyPublishVolume

伴奏ファイルの公開用ボリュームを取得します。

setAudioAccompanyPlayoutVolume

伴奏ファイルの再生ボリュームを設定します。

getAudioAccompanyPlayoutVolume

伴奏ファイルの再生ボリュームを取得します。

pauseAudioAccompany

伴奏再生を一時停止します。

resumeAudioAccompany

伴奏再生を再開します。

getAudioAccompanyDuration

伴奏ファイルの再生時間(ミリ秒単位)を取得します。

getAudioAccompanyCurrentPosition

伴奏ファイルの現在の再生位置(ミリ秒単位)を取得します。

setAudioAccompanyPosition

伴奏ファイルの再生位置を設定します。

効果音ファイル

API

説明

preloadAudioEffectWithSoundId

効果音をプリロードします。

unloadAudioEffectWithSoundId

プリロード済みの効果音を削除します。

playAudioEffectWithSoundId

効果音の再生を開始します。

stopAudioEffectWithSoundId

効果音の再生を停止します。

stopAllAudioEffects

すべての効果音の再生を停止します。

pauseAudioEffectWithSoundId

効果音の再生を一時停止します。

pauseAllAudioEffects

すべての効果音の再生を一時停止します。

resumeAudioEffectWithSoundId

効果音の再生を再開します。

resumeAllAudioEffects

すべての効果音ファイルを復元できます。

setAudioEffectPublishVolumeWithSoundId

ストリームアップロード用の効果音のボリュームを設定します。

getAudioEffectPublishVolumeWithSoundId

ストリームアップロード用の効果音のボリュームを照会します。

setAllAudioEffectsPublishVolume

アップストリーミング用のすべての効果音のボリュームを設定します。

setAudioEffectPlayoutVolumeWithSoundId

ローカル再生用の効果音のボリュームを設定します。

getAudioEffectPlayoutVolumeWithSoundId

ローカル再生用の効果音のボリュームを照会します。

setAllAudioEffectsPlayoutVolume

すべての効果音のローカル再生用ボリュームを設定します。

音声および映像ファイルの録画

API

説明

startRecord

AAC、WAV、または MP4 形式で音声および映像ファイルを録画します。

stopRecord

音声および映像ファイルの録画を停止します。

映像デバイス管理関連メソッド

API

説明

setLocalViewConfig

ローカルプレビューのレンダリングビューおよび描画パラメーターを設定します。

setCameraCapturerConfiguration

カメラの収集設定を設定します。

enableLocalVideo

ローカル映像収集を無効または再有効にします。

muteLocalCamera

ローカル映像トラックの配信を停止するかどうかを指定します。

setRemoteViewConfig

リモートユーザーの映像トラックのレンダリングビューおよび描画パラメーターを設定します。

isCameraOn

カメラがオンになっているかどうかを照会します。

setVideoEncoderConfiguration

映像エンコーディングプロパティを設定します。

setVideoDecoderConfiguration

映像デコーディングプロパティを設定します。

switchCamera

前面および背面カメラを切り替えます。デフォルトでは前面カメラが使用されます。

getCurrentCameraDirection

現在のカメラ方向を取得できます。

startPreview

ローカルプレビューを開始します。

stopPreview

ローカルプレビューを停止します。

setCameraZoom

カメラズームを設定します。

GetCameraMaxZoomFactor

カメラの最大ズーム係数を取得します。

GetCurrentZoom

カメラの最大拡大比率を取得します。

SetExposure

カメラ露出を設定します。

GetCurrentExposure

カメラ露出を取得します。

GetMinExposure

最小カメラ露出レベルを取得します。

GetMaxExposure

最大カメラ露出レベルを取得します。

setCameraFlash

カメラフラッシュモードを設定します。

isCameraFocusPointSupported

手動フォーカスがサポートされているかどうかを照会します。

isCameraExposurePointSupported

露出ポイントの設定がサポートされているかどうかを照会します。

setCameraFocusPoint

カメラの手動フォーカスポイントを設定します。

setCameraExposurePoint

カメラ露出ポイントを設定します。

isCameraAutoFocusFaceModeSupported

顔自動フォーカスがサポートされているかどうかを照会します。

setCameraAutoFocusFaceModeEnabled

顔自動フォーカスを有効または無効にします。

setVideoMirrorMode

ローカルプレビューおよびストリームアップロード時のミラー表示を設定します。

SetCapturePipelineScaleMode

映像キャプチャパイプラインにおけるスケーリングのタイミング(キャプチャ時またはエンコーディング時)を設定します。

映像データコールバックの構成

API

説明

registerVideoFrameWithObserver

映像データコールバックを登録します。

unregisterVideoSampleWithObserver

映像データコールバックを登録解除します。

registerLocalVideoTextureObserver

映像テクスチャコールバックを登録します。

unregisterLocalVideoTextureObserver

映像テクスチャコールバックを登録解除します。

snapshotVideo

カメラフィードのスナップショットを撮影します。

registerVideoSampleObserver

映像データのエクスポート用コールバックを登録します。

unRegisterVideoSampleObserver

映像データのエクスポート用コールバックを登録解除します。

音声データコールバックの構成

API

説明

enableAudioFrameObserver

音声コールバック設定を構成します。

registerAudioFrameObserver

音声コールバックを登録します。

カスタム映像入力

API

説明

setExternalVideoSource

外部映像ソースの有効化を指定します。

pushExternalVideoFrame

映像データを入力します。

デスクトップ共有インターフェイス

API

説明

startScreenShare

画面共有ストリームの取り込みを開始します。

startScreenShare

画面共有ストリームの取り込みを開始します。

説明

このメソッドは廃止予定です。

stopScreenShare

画面共有のストリームアップロードを停止します。

setAudioShareAppVolume

共有音声ストリームのボリュームを設定します。

isScreenSharePublished

画面共有ストリームが配信中かどうかを照会します。

setScreenShareEncoderConfiguration

画面共有エンコーディングパラメーターを構成します。

ライブストリーミングバイパスインターフェイス

API

説明

startPublishLiveStreamWithURL

リレー型ライブストリーミングを開始します。

updatePublishLiveStreamWithURL

リレー型ライブストリーミングのパラメーターを更新します。

stopPublishLiveStreamWithURL

リレー型ライブストリーミングを停止します。

GetPublishLiveStreamStateWithURL

リレー型ライブストリーミングのステータスを照会します。

ネットワーク品質プローブインターフェイス

API

説明

startLastmileDetect

ネットワーク品質テストを開始します。

stopLastmileDetect

ネットワーク品質テストを停止します。

SEI

API

説明

sendMediaExtensionMsg

SEI メッセージを送信します。

sendMediaExtensionMsgEx

SEI メッセージ(拡張版)を送信します。

その他の API

API

説明

setParameter

カスタムパラメーターを設定します。

getParameter

カスタムパラメーターを照会します。

setLogDirPath

SDK のログファイルの保存パスを設定します。

setLogLevel

ログレベルを設定します。

setAudioSessionOperationRestriction

SDK が AVAudioSession を制御する権限を持つことを指定します。

setDeviceOrientationMode

デバイスの向きを設定します。

getNetworkTime

ネットワークタイムスタンプを取得します。

sendDataChannelMessage

データチャネルメッセージを送信します。

AliveEnv メソッド

API

説明

setGlobalEnvironment

グローバル環境を設定します。

コールバック

AliRtcEngineDelegate

API

説明

onConnectionStatusChange

ネットワーク接続ステータスが変更されたときに呼び出されるコールバックです。このコールバックに注意してください。

onLocalDeviceException

ローカルデバイス例外が発生したときに呼び出されるコールバックです。このコールバックに注意してください。

onAuthInfoWillExpire

ユーザー認証が期限切れになる直前に呼び出されるコールバックです。このコールバックを受信してから 30 秒後に認証が期限切れになります。このコールバックに注意してください。

onAuthInfoExpired

認証を必要とする API を呼び出した際に、サーバーから認証が期限切れである旨のメッセージが返されます。

onJoinChannelResult

チャネル参加結果を返すために呼び出されるコールバックです。

onLeaveChannelResult

チャネル退出結果を返すために呼び出されるコールバックです。

onRemoteUserOffLineNotify

リモートユーザーのオフライン通知です。

onRemoteUserOnLineNotify

リモートユーザーがオンラインになったことを通知します。

onRemoteTrackAvailableNotify

リモートアップストリーミングの通知

onBye

サーバーによって切断された場合や、会議終了後にチャネルが終了した場合に送信されるメッセージです。

onAudioPublishStateChanged

音声ストリームアップロードステータスの通知です。

onAudioSubscribeStateChanged

音声ストリームフェッチングのステータス通知です。

onUserAudioMuted

リモートユーザーのミュート通知です。

onUserAudioInterruptedBegin

音声デバイスの中断が開始されたことを通知します。

onUserAudioInterruptedEnded

音声デバイスの中断が終了したときに呼び出されるコールバックです。

onVideoPublishStateChanged

映像トラックのストリームアップロードステータスが変更されたときに呼び出されるコールバックです。

onVideoSubscribeStateChanged

映像トラックのサブスクリプションステータスが変更されたときに呼び出されるコールバックです。

onUserVideoMuted

リモートユーザーが映像トラックに対して黒いフレームを送信したときに呼び出されるコールバックです。

onUserVideoEnabled

リモートユーザーがカメラストリームの送信を停止し、通知を送信します。

onUserWillResignActive

リモートユーザーのアプリケーションがバックグラウンドに移行したときです。

onUserWillBecomeActive

リモートユーザーのアプリケーションがフォアグラウンドに戻ったときです。

onAudioEffectFinished

ローカルでの効果音の再生が終了したときに呼び出されるコールバックです。

onAudioVolumeCallback

サブスクライブ済みの音声ボリューム、音声ステータス、および UID です。

onActiveSpeaker

アクティブなユーザーが話していることが検出されたときに呼び出されるコールバックです。

onPublishLiveStreamStateChanged

リレー型ライブストリーミングのステータスが変更されたときに呼び出されるコールバックです。

onPublishTaskStateChanged

リレー型ライブストリーミングタスクのステータスが変更されたときに呼び出されるコールバックです。

onNetworkQualityChanged

ネットワーク品質が変更されたときに呼び出されるコールバックです。

onLastmileDetectResultWithQuality

ネットワーク品質プローブ結果のコールバックです。

onLastmileDetectResultWithBandWidth

ネットワーク品質プローブ結果を返すために呼び出されるコールバックです。

onOccurError

エンジンでエラーが発生したときに呼び出されるコールバックです。このコールバックを使用してアプリに通知します。

onFirstAudioPacketSentWithTimecost

最初の音声パケットが送信されたときに呼び出されるコールバックです。

onFirstVideoFrameReceivedWithUid

最初の映像フレームが受信されたときに呼び出されるコールバックです。

onFirstVideoPacketSentWithVideoTrack

最初の映像パケットが送信されたときに呼び出されるコールバックです。

onFirstAudioPacketReceivedWithUid

最初の音声パケットが受信されたときに呼び出されるコールバックです。

onFirstRemoteAudioDecodedWithUid

最初のリモート音声フレームがデコードされたときに呼び出されるコールバックです。

onFirstRemoteVideoFrameDrawn

リモートユーザーからの最初の映像フレームがレンダリングされたときに呼び出されるコールバックです。

onFirstLocalVideoFrameDrawn

プレビュー中に最初のローカル映像フレームがレンダリングされたときに呼び出されるコールバックです。

onTestAudioVolumeCallback

通話前の音声キャプチャテストのボリュームコールバックです。

onAudioAccompanyStateChanged

ローカルの伴奏再生状態が変更されたときに呼び出されるコールバックです。

onRemoteAudioAccompanyStarted

リモートユーザーが伴奏の再生を開始したときに呼び出されるコールバックです。

onRemoteAudioAccompanyFinished

リモートユーザーが伴奏の再生を終了したときに呼び出されるコールバックです。

onRtcStats

リアルタイム統計コールバックで、2 秒ごとにトリガーされます。

onRtcLocalVideoStats

ローカル映像パフォーマンス統計(2 秒ごとにトリガー)。

onRtcRemoteVideoStats

リモート映像パフォーマンス統計(2 秒ごとにトリガー)。

onRtcLocalAudioStats

ローカル音声統計コールバックで、2 秒ごとにトリガーされます。

onRtcRemoteAudioStats

リモート音声統計を提供します。このイベントは 2 秒ごとにトリガーされます。

onMediaExtensionMsgReceived

メディア拡張メッセージが受信されたときに呼び出されるコールバックです。

onAudioRouteChanged

音声ルートが変更されたときに呼び出されるコールバックです。

onSnapshotComplete

スナップショット完了コールバックです。

onLocalAudioStateChanged

ローカル音声キャプチャデバイスの状態が変更されたときに呼び出されるコールバックです。

onLocalVideoStateChanged

ローカル映像キャプチャデバイスの状態が変更されたときに呼び出されるコールバックです。

onRemoteUserSubscribedDataChannel

データチャネルメッセージの送信を開始できるときに呼び出されるコールバックです。

onDataChannelMessage

データチャネルメッセージのコールバックです。

onScreenSharePublishStateChanged

画面共有ストリームのアップロードステータスが変更されたときに呼び出されるコールバックです。

AliRtcAudioFrameDelegate

API

説明

onCapturedAudioFrame

生のキャプチャ音声データのコールバックです。

onProcessCapturedAudioFrame

3A 処理後の音声データのコールバックです。

onPublishAudioFrame

ストリーム取り込みデータ コールバック。

onPlaybackAudioFrame

音声再生データのコールバックです。

onRemoteUserAudioFrame

リモート音声ストリームデータのコールバックです。

AliRtcEngineDestroyDelegate

API

説明

onDestroyCompletion

エンジンが破棄されたときに呼び出されるコールバックです。このコールバックが完了した後にのみ、エンジンは完全に解放されます。

AliRtcTextureDelegate

API

説明

onTextureCreate

OpenGL コンテキスト作成コールバックです。

onTextureUpdate

OpenGL テクスチャ更新コールバックです。

onTextureDestory

OpenGL コンテキスト破棄コールバックです。

AliRtcVideoFrameDelegate

API

説明

onCaptureVideoSample

キャプチャされた映像フレームのコールバックです。

onPreEncodeVideoSample

エンコード前のローカル映像データのコールバックです。

onRemoteVideoSample

リモート映像データのコールバックです。

onGetVideoFormatPreference

映像データ出力フォーマットです。

onGetVideoObservedFramePosition

映像データ出力位置です。

詳細

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

  • AliRtcOnByeUserReplaced: このエラーが発生した場合、ユーザー ID が重複していないか確認してください。

  • AliRtcOnByeBeKickedOut: ユーザーがビジネスロジックによってキックアウトされたことを示します。チャネルに再参加してください。

  • AliRtcOnByeChannelTerminated: チャネルが終了したことを示します。チャネルに再参加してください。

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

AliRtcEngineDestroyDelegate

完了コールバックを受け取るオブザーバーです。

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

AliRtcChannelProfile

チャネルタイプ。RTC シナリオでは、インタラクティブライブストリーミングモードである AliRtcChannelProfileInteractiveLive に設定することを推奨します。

戻り値の説明

0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

setAudioProfile

音声プロファイルを設定します。

- (int)setAudioProfile:(AliRtcAudioProfile)audio_profile audio_scene:(AliRtcAudioScenario)audio_scene;

このメソッドは、音声エンコーディングと音声シナリオモードを構成します。詳細については、「一般的な音声操作と構成」をご参照ください。デフォルトでは、ARTC SDK は高品質音声モード(AliRtcEngineHighQualityMode)と音楽シナリオモード(AliRtcSceneMusicMode)を使用します。デフォルトがニーズに合わない場合は、このメソッドを呼び出して構成してください。

呼び出しタイミング

このメソッドはチャネルに参加する前にのみ呼び出すことができます。参加後に変更することはできません。チャネルから退出した後に変更できます。

パラメーター

名前

タイプ

説明

audio_profile

AliRtcAudioProfile

音声キャプチャまたはエンコーディングモードのパラメーター。高品質モード(AliRtcEngineHighQualityMode)を推奨します。

説明

Web クライアントとの相互運用性のために、サンプルレートを 48 kHz に設定してください。

  • AliRtcEngineLowQualityMode:低品質音声モード。デフォルトのサンプルレート:8 kHz。モノラル。最大ビットレート:12 kbps。

  • AliRtcEngineBasicQualityMode:標準音質モード。デフォルトのサンプルレート:16 kHz。モノラル。最大ビットレート:24 kbps。

  • AliRtcEngineHighQualityMode:デフォルトのサンプルレート:48 kHz。モノラル。最大ビットレート:64 kbps。

  • AliRtcEngineStereoHighQualityMode:ステレオ高品質モード。デフォルトのサンプルレート:48 kHz。ステレオ。最大ビットレート:80 kbps。

  • AliRtcEngineSuperHighQualityMode:超高品質モード。デフォルトのサンプルレート:48 kHz。モノラル。最大ビットレート:96 kbps。

  • AliRtcEngineStereoSuperHighQualityMode:ステレオ超高品質モード。デフォルトのサンプルレート:48 kHz。ステレオ。最大ビットレート:128 kbps。

audio_scene

AliRtcAudioScenario

音声シナリオモードのパラメーター。オプションは次のとおりです。

  • AliRtcSceneMusicMode(推奨):音楽シナリオ。ソフトウェアベースの 3A 処理を使用します。電話のマイクからキャプチャして、より高い音声忠実度を実現します。

  • AliRtcSceneDefaultMode:ハードウェアベースの 3A 処理を使用します。Bluetooth デバイスをサポートします。

説明

ARTC SDK v6.21 以降では、これをチャットルームモード(AliRtcSceneChatroomMode)に設定しないでください。

戻り値の説明

0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

isAudioOnly

音声のみモードが有効になっているかどうかを照会します。

- (BOOL)isAudioOnly;

戻り値の説明

YES の値は音声のみモードが有効であることを示します。NO の値は音声・映像モードが有効であることを示します。

setAudioOnlyMode

音声のみモードまたは音声・映像モードを有効にします。

- (int)setAudioOnlyMode:(BOOL)audioOnly;

パラメーター

名前

タイプ

説明

audioOnly

BOOL

  • YES の値は音声のみモードを有効にします。

  • NO は音声と映像の両方がサポートされていることを示します。これがデフォルト値です。

返品手順

0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

joinChannel[1/3]

チャネルに参加します(つまり、会議に参加します)。

- (int)joinChannel:(NSString *_Nonnull)token channelId:(NSString *_Nullable)channelId userId:(NSString *_Nullable)userId name:(NSString *_Nullable)userName onResultWithUserId:(void(^_Nullable)(NSInteger errCode, NSString * _Nonnull channel, NSString * _Nonnull userId, NSInteger elapsed))onResult;

このメソッドはチャネルに参加します。ARTC はユーザーをチャネルに編成します。ユーザーは音声および映像ストリームを配信またはサブスクライブするためにチャネルに参加する必要があります。このメソッドは、joinChannel[2/3] および joinChannel[3/3] とともに、チャネルに参加するために使用できます。違いは、認証方式と渡されるユーザー情報にあります。

  • これは単一パラメーターの参加メソッドです。トークン認証を使用して生成されたトークンを渡します。RTC シナリオではこのメソッドを推奨します。

  • joinChannel[2/3] は複数パラメーターの参加メソッドです。トークン認証を使用して生成されたトークンを渡し、トークン生成に使用されたユーザー情報も渡します。

  • joinChannel[3/3] は AI リアルタイムインタラクションシナリオ用です。単一パラメーターのトークンを渡し、シナリオに応じてユーザープロパティ capabilityProfile を設定します。

説明

デフォルトでは、チャネルに参加すると、チャネル内の他のすべてのユーザーの音声および映像ストリームをサブスクライブし、自分の音声および映像ストリームをリモートユーザーにプッシュします。デフォルトのサブスクリプションをキャンセルしたい場合は、この API を呼び出す前に <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#8b515d9855osk" id="2e9165006d7tz">setDefaultSubscribeAllRemoteAudioStreams</a><a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#a975297480yoj" id="96cf16cf8a4us">setDefaultSubscribeAllRemoteVideoStreams</a> を呼び出して、音声または映像ストリームのサブスクリプションを無効にすることができます。

呼び出しタイミング

エンジンインスタンスを作成した後にこのメソッドを呼び出します。

制限事項

  • チャネルに正常に参加した後、セッション中に別のチャネルに参加するには、まず <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#449873b819cz2" id="37299758eavvg">leaveChannel</a> を呼び出して現在のチャネルから退出する必要があります。そして、再度チャネルに参加する前に <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#3721f1f2a3kpd" id="50039f328fdk7">onLeaveChannelResult</a> コールバックを受信したことを確認してください。

  • このメソッドは一度に 1 つのチャネルにのみ参加できます。

  • 異なる App ID を持つアプリは相互運用できません。

  • 参加に失敗した後の再試行時にこのメソッドを呼び出す必要はありません。

関連コールバック

このメソッドを正常に呼び出した後、次のコールバックがトリガーされます。

  • ローカルクライアントがチャネルに参加した結果は、<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#e6d2a213d7sl2" id="903005c54be4d">onJoinChannelResult</a> コールバックを通じて通知されます。

  • チャネルに正常に参加した後、リモート側は <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#634626babfq9x" id="4b11b846b1f4t">onRemoteUserOnLineNotify</a> コールバックをトリガーします。

パラメーター

パラメーター

タイプ

説明

token

String

単一パラメーター入力用の認証情報です。

channelId

String

参加するチャネルの ID です。値はトークン生成に使用されたチャネル ID と同じでなければなりません。

userId

String

チャネルに参加したいユーザーの ID です。値はトークン生成に使用されたユーザー ID と同じでなければなりません。

userName

String

ユーザーの表示名です。ユーザー ID ではありません。

onResultWithUserId

void(^_Nullable)(NSInteger errCode, NSString * _Nonnull channel, NSString * _Nonnull userId, NSInteger elapsed)

このコールバックは、インターフェイスの実行が完了した後に呼び出されます。

戻り値の説明

0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

joinChannel[2/3]

複数参加者セッションであるチャネルに参加します。

- (int)joinChannel:(AliRtcAuthInfo *_Nonnull)authInfo name:(NSString *_Nullable)userName onResultWithUserId:(void(^_Nullable)(NSInteger errCode, NSString * _Nonnull channel, NSString * _Nonnull userId, NSInteger elapsed))onResult;

このメソッドはチャネルに参加します。ARTC はユーザーをチャネルに編成します。ユーザーは音声および映像ストリームを配信またはサブスクライブするためにチャネルに参加する必要があります。このメソッドは、joinChannel[1/3] および joinChannel[3/3] とともに、チャネルに参加するために使用できます。違いは、認証方式と渡されるユーザー情報にあります。

  • joinChannel[1/3] は単一パラメーターの参加メソッドです。トークン認証を使用して生成されたトークンを渡します。RTC シナリオではこのメソッドを推奨します。

  • これは複数パラメーターの参加メソッドです。トークン認証を使用して生成されたトークンを渡し、トークン生成に使用されたユーザー情報も渡します。

  • joinChannel[3/3] は AI リアルタイムインタラクションシナリオ用です。単一パラメーターのトークンを渡し、ユーザープロパティ capabilityProfile を設定します。

説明
  • デフォルトでは、チャネルに参加すると、チャネル内の他のすべてのユーザーからの音声および映像ストリームをサブスクライブし、自分の音声および映像ストリームをリモートユーザーにプッシュします。デフォルトのサブスクリプションを無効にするには、このインターフェイスを呼び出す前に <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#8b515d9855osk" id="fb54669796mxq">setDefaultSubscribeAllRemoteAudioStreams</a><a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#a975297480yoj" id="abb190b699jg7">setDefaultSubscribeAllRemoteVideoStreams</a> を呼び出して、音声ストリームまたは映像ストリームのサブスクリプションを無効にします。

  • このメソッドを呼び出す前に、「トークン認証」を参照して複数パラメーターのトークンを生成してください。

制限事項

  • チャネルに参加した後で別のチャネルに切り替えるには、まず <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#449873b819cz2" id="4283c6cc013bz">leaveChannel</a> を呼び出して現在のチャネルから退出する必要があります。<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#3721f1f2a3kpd" id="9e6478b2f0hen">onLeaveChannelResult</a> コールバックを受信した後にのみ、新しいチャネルに参加できます。

  • このメソッドは一度に 1 つのチャネルにのみ参加できます。

  • 異なる App ID を持つアプリは相互運用できません。

関連コールバック

このメソッドを正常に呼び出した後、次のコールバックがトリガーされます。

  • <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#e6d2a213d7sl2" id="df00346ea8928">onJoinChannelResult</a> コールバックは、ローカルユーザーがチャネルに参加した結果を返します。

  • チャネルに正常に参加した後、リモートユーザーは <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#634626babfq9x" id="c3832e71e8vck">onRemoteUserOnLineNotify</a> コールバックをトリガーします。

パラメーター

名前

タイプ

説明

authInfo

AliRtcAuthInfo

認証情報です。

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

AliRtcChannelParam

チャネルに参加するためのパラメーターです。

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

AliRtcClientRole

ユーザーの役割。デフォルト値は 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

  • YES の値は、ローカル音声トラックが配信されることを指定します。これがデフォルト値です。

  • NO はストリームアップロードを停止し、YES がデフォルトです。

戻り値の説明

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

  • YES はユーザーの音声ストリームを受け入れることを示します。

  • NO の値は、ユーザーの音声ストリームが受け入れられなくなったことを示します。デフォルト値は YES です。

戻り値の説明

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

  • YES は、指定したユーザーからの音声ストリームを受け入れることを示します。

  • NO の値は、指定したユーザーの音声トラックがサブスクライブされないことを指定します。

戻り値の説明

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

  • YES の値は、すべてのリモートユーザーの音声トラックがサブスクライブされることを指定します。これがデフォルト値です。

  • NO の値は、すべてのリモートユーザーの音声トラックがサブスクライブされないことを指定します。

戻り値の説明

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

  • YES は映像が送信中であることを示します。

  • NO は送信を無効にします。デフォルト設定は YES です。

isLocalVideoStreamPublished

映像トラックが配信されているかどうかを照会します。

- (BOOL)isLocalVideoStreamPublished;

戻り値の説明

YES の値は映像トラックが配信されていることを示します。NO の値は映像トラックが配信されていないことを示します。

setDefaultSubscribeAllRemoteVideoStreams

デフォルトで映像ストリームを受け入れるかどうかを設定できます。

- (int)setDefaultSubscribeAllRemoteVideoStreams:(BOOL)sub;

デフォルトでは、SDK はリモートユーザーの映像トラックをサブスクライブします。この動作を変更するには、このメソッドを使用します。

説明

SDK は、チャネルに参加する際にデフォルトでリモートユーザーの音声および映像トラックをサブスクライブします。この動作を変更するには、チャネルに参加する前にこのメソッドを呼び出します。

呼び出しタイミング

このメソッドはチャネルに参加する前または後に呼び出すことができます。

  • 参加前:

    • このメソッドを使用して、デフォルトのサブスクリプションを無効にすることができます。

  • 参加後:

    • デフォルトのサブスクリプションを無効にするには、setDefaultSubscribeAllRemoteVideoStreams(false) を呼び出します。後でチャネルに参加するユーザーの音声ストリームも自動的にサブスクライブされなくなります。

    • デフォルトのサブスクリプションを停止した後、subscribeRemoteVideoStream インターフェイスを呼び出して、特定のユーザーの音声ストリームのサブスクリプションを再開できます。複数のユーザーのサブスクリプションを再開するには、ユーザーごとにこのインターフェイスを 1 回呼び出します。

    • デフォルトのサブスクリプションを停止した後、setDefaultSubscribeAllRemoteVideoStreams(false) を呼び出すと、後でチャネルに参加するユーザーの音声ストリームのみが復元されます。

パラメーター

名前

タイプ

説明

sub

boolean

  • YES はユーザーの映像ストリームが受け入れられることを示します。

  • NO の値は、リモートユーザーの映像トラックがサブスクライブされないことを指定します。

戻り値の説明

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

AliRtcVideoTrack

映像ストリームのタイプです。

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

  • YES の値は、すべてのリモートユーザーの映像トラックがサブスクライブされることを指定します。これがデフォルト値です。

  • NO は、映像ストリームが受け入れられないことを示します。デフォルト値は YES です。

戻り値の説明

0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

subscribeRemoteMediaStream[1/2]

特定のリモートユーザーからのメディアストリームを停止または再開します。

- (int)subscribeRemoteMediaStream:(NSString *_Nonnull)uid videoTrack:(AliRtcVideoTrack)videoTrack subVideo:(BOOL)subVideo subAudio:(BOOL)subAudio;

このインターフェイスは、サブスクライブされたリモートの音声および映像ストリームをマージします。

関連 API 操作

subscribeRemoteMediaStream[2/2] とは異なり、このインターフェイスは 2 つのブール値パラメーター(subVideosubAudio)を使用してリモートの映像および音声ストリームをサブスクライブするかどうかを制御し、videoTrack パラメーターはどの映像ストリームをプルするかを指定します。

注:この API では、AliRtcVideoTrack の AliRtcVideoTrackNo は無効であり、設定しても効果はありません。

パラメーター

パラメーター

タイプ

説明

uid

String

リモートユーザーの ID です。

videoTrack

AliRtcVideoTrack

映像ストリームのタイプです。

subVideo

boolean

リモートユーザーの映像トラックをサブスクライブするかどうかを指定します。有効な値:

  • true(デフォルト):再開

  • false:操作を停止

subAudio

boolean

リモートユーザーの音声トラックをサブスクライブするかどうかを指定します。有効な値:

  • true(デフォルト):再開

  • false:操作を停止

応答の説明

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 に望ましいサブスクリプション状態を指定します。例:

  • カメラとマイクのストリームをサブスクライブするには、メソッドを呼び出す際に videoTrackAliRtcVideoTrackCamera に、audioTrackAliRtcAudioTrackMic に設定します。

  • カメラストリームのサブスクライブを解除し、マイクは維持したい場合は、メソッドを再度呼び出す際に、それぞれ AliRtcVideoTrackNoAliRtcAudioTrackMicvideoTrackaudioTrack パラメーターに設定します。

  • すべてのトラックをキャンセルしたい場合は、再度呼び出す際に videoTrack と audioTrack をそれぞれ AliRtcVideoTrackNoAliRtcAudioTrackNo に設定します。

  • カメラと画面共有の両方のストリームをサブスクライブするには、videoTrack を AliRtcVideoTrackBoth に設定します。音声も同様に機能します。

パラメーター

パラメーター

タイプ

説明

uid

NSString *

リモートユーザー ID です。

videoTrack

AliRtcVideoTrack

映像ストリームのタイプです。

audioTrack

AliRtcAudioTrack

音声ストリームのタイプです。

戻り値の説明

戻り値 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

AliRtcVideoTrack

サブスクライブしたい映像トラックです。

sub_audio

boolean

リモートユーザーの音声トラックをサブスクライブするかどうかを指定します。有効な値:

  • true(デフォルト):回復。

  • false:操作を停止。

sub

boolean

指定したユーザーのストリームへのクロスチャネルサブスクリプションを停止または再開します。

戻り値の説明

0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

subscribeRemoteDestChannelAllStream

対象チャネル内のすべてのユーザーストリームをサブスクライブします。

- (int)subscribeRemoteDestChannelAllStream:(NSString *_Nonnull)channelId track:(AliRtcVideoTrack)track subAudio:(BOOL)subAudio sub:(BOOL)sub;

パラメーター

名前

タイプ

説明

channelId

NSString *

対象チャネルです。

videotrack

AliRtcVideoTrack

映像ストリームのタイプです。

audioTrack

AliRtcAudioTrack

音声ストリームのタイプです。

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

  • YES は、ローカル音声が空のフレームを送信することを示します。

  • NO は、通常の操作が再開されることを示します。デフォルト値は NO です。

mode

AliRtcMuteLocalAudioMode

ミュートモード。デフォルト:すべてミュート。

  • AliRtcMuteAudioModeDefault:マイクと外部入力を含むすべての音声をミュートします。

  • AliRtcMuteAllAudioMode:マイクと外部入力を含むすべての音声をミュートします。

  • AliRtcMuteOnlyMicAudioMode:マイクのみをミュートします。

戻り値

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

  • YES の値は再生が停止されることを指定します。

  • NO は再生が再開されないことを示します。デフォルト値は NO です。

戻り値の説明

0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

muteAllRemoteAudioPlaying

すべてのリモート音声の再生を停止または再開できます。

- (int)muteAllRemoteAudioPlaying:(BOOL)mute;

この API は、すべてのリモート音声の再生を停止または再開します。

説明

このメソッドは再生のみを停止します。ストリームのフェッチングとデコーディングは影響を受けません。

呼び出しのタイミング

この設定は、チャネルに参加する前または後に構成できます。

パラメーター

名前

タイプ

説明

mute

BOOL

  • YES の値は再生が停止されることを指定します。

  • NO の値は再生が再開されることを指定します。これがデフォルト値です。

戻り値の説明

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

チャネルから退出した後の音声収集デバイスの状態。有効な値:

  • true:チャネルから退出した後も音声収集デバイスはオンのままです。

  • false(デフォルト):チャネルから退出した後に音声収集デバイスはオフになります。

戻り値の説明

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

  • YES はスピーカーモードを示します。

  • NO はイヤホンモードを示します。デフォルト値は YES です。

戻り値の説明

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

話者を検出するために使用されるスイッチ。有効な値:

  • 1:スイッチをオンにします。onAudioVolumeCallback コールバックを呼び出して、各話者の状態を取得できます。

  • 0:スイッチをオフにします。

戻り値

0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

enableEarBack

イヤーモニター機能を有効にできます。

- (int)enableEarBack:(BOOL)enable;

このメソッドはイヤーモニター機能を有効または無効にします。最適な結果を得るために、有線または Bluetooth ヘッドホンを使用する際にイヤーモニターを有効にすることを推奨します。

呼び出しタイミング

このメソッドはチャネルに参加する前または後に呼び出すことができます。

パラメーターの説明

名前

タイプ

説明

enable

BOOL

  • YES の値はイヤーモニターを有効にします。

  • NO の値はイヤーモニターを無効にします。これがデフォルト値です。

戻り値の説明

0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

setEarBackVolume

イヤーモニターのボリュームを設定します。

- (int)setEarBackVolume:(NSInteger)volume;

このインターフェイスはイヤーモニターのボリュームを設定します。<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#bd665d0f894ux" id="b0fa866c9bcuq">enableEarBack</a> を呼び出してイヤーモニターを有効にした後にのみ有効になります。

呼び出しタイミング

このメソッドはチャネルに参加する前または後に呼び出すことができます。

パラメーター

名前

タイプ

説明

volume

NSInteger

値は 0 から 100 の範囲でなければなりません。デフォルトは 100 です。

戻り値の説明

0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

startAudioPlayer

音声再生を開始します。

- (void)startAudioPlayer;
説明

このメソッドを呼び出して、事前に音声再生を開始できます。このメソッドを呼び出さない場合、SDK は音声ストリームをサブスクライブした後に自動的に再生を開始します。

stopAudioPlayer

音声再生を停止します。

- (void)stopAudioPlayer;
説明

このメソッドを呼び出して音声再生を停止します。

setPlayoutVolume

再生ボリュームを設定します。

- (int)setPlayoutVolume:(NSInteger)volume;

パラメーター

名前

タイプ

説明

volume

ボリューム

範囲:[0..400]。[0..100] は元のボリューム範囲です。[100..400] はボリュームを増幅します。

戻り値

戻り値 0 は成功を示し、それ以外の値は失敗を示します。

setRecordingVolume

録音ボリュームを設定します。

- (int)setRecordingVolume:(NSInteger)volume;

パラメーター

名前

タイプ

説明

volume

NSInteger

範囲:[0..400]。[0..100] は元のボリュームです。[100..400] はボリュームを増幅します。

戻り値

戻り値 0 は成功を示します。それ以外の値は失敗を示します。

playAudioFileTest

音声ファイルを再生します。

- (int)playAudioFileTest:(NSString *_Nonnull)filePath;
説明

このメソッドはチャネルに参加する前に呼び出すことができます。

パラメーター

パラメーター

タイプ

説明

filePath

NSString *_Nonnull

再生する音声ファイルのパスです。

戻り値

戻り値 0 は成功を示します。それ以外の値は失敗を示します。

stopAudioFileTest

音声ファイルの再生を停止します。

- (int)stopAudioFileTest;
説明

このメソッドは joinChannel を呼び出す前に呼び出す必要があります。

戻り値

戻り値 0 は成功を示します。それ以外の値は失敗を示します。

startAudioCaptureTest

通話前に音声キャプチャデバイスの検出を有効にします。

- (void)startAudioCaptureTest;
説明

このメソッドは joinChannel の前にのみ呼び出すことができます。それ以降に呼び出そうとすると失敗します。

stopAudioCaptureTest

通話を終了する前に音声収集デバイスを検出します。

- (void)stopAudioCaptureTest;
説明

このメソッドは joinChannel を呼び出す前に呼び出す必要があります。そうしないと、メソッド呼び出しは失敗します。

setDefaultAudioRoutetoSpeakerphone

デフォルトの音声出力をスピーカーに設定します。デフォルトでは、音声はスピーカーから再生されます。

- (int)setDefaultAudioRouteToSpeakerphone:(BOOL)defaultToSpeakerphone;

このメソッドは、チャネルに参加する前にデフォルトの音声ルートデバイスを構成します。音声をヘッドセットまたはスピーカーのいずれかにルーティングできます。SDK はデフォルトでスピーカーを使用します。この動作を変更するには、チャネルに参加する前にこのメソッドを呼び出します。

SDK は音声ルーティングの固定優先順位を定義し、現在の周辺機器の接続状態に基づいて自動切り替えを実行します。優先順位は次のとおりです:有線ヘッドセット > Bluetooth ヘッドセット > ユーザー設定 > デフォルト設定。したがって、周辺機器が接続されておらず、<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#f7d0d8b64fzkz" id="30798b686b5qk">enableSpeakerphone</a> を通じて音声ルーティングを構成していない場合、SDK はデフォルト設定を適用します。

音声ルーティングの詳細については、「音声ルーティング設定」をご参照ください。

モバイルデバイスは通常、ヘッドセットとスピーカーの 2 つの音声ルートをサポートします。

  • ヘッドセットを使用する場合、音は静かで、電話を耳に近づける必要があります。これによりプライバシーが向上し、通話に適しています。

  • スピーカーを使用する場合、音は大きく、電話を耳に当てなくても聞こえます。これによりハンズフリー操作が可能になります。

関連メソッド

この API はデフォルトの音声ルーティング設定を変更します。<a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#f7d0d8b64fzkz" id="6001aa98ebapw">enableSpeakerphone</a> API は現在の音声ルーティングデバイスを設定します。

呼び出しタイミング

このメソッドはチャネルに参加する前または後に呼び出すことができます。

パラメーター

名前

タイプ

説明

defaultToSpeakerphone

BOOL

音声をスピーカーにルーティングするかどうか。YES はスピーカー、NO はヘッドセットです。

戻り値

戻り値 0 は成功を示します。それ以外の値は失敗を示します。

setAudioEffectVoiceChangerMode

ボイスチェンジモードを設定します。

- (int)setAudioEffectVoiceChangerMode:(AliRtcAudioEffectVoiceChangerMode)mode;

パラメーター

名前

タイプ

説明

mode

AliRtcAudioEffectVoiceChangerMode

ボイスチェンジモード。デフォルト値: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

AliRtcAudioEffectReverbMode

リバーブモード。デフォルト値:AliRtcAudioEffectReverb_Off。

応答の説明

0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

setAudioEffectReverbParamType

リバーブエフェクトのタイプと特定のパラメーターを設定できます。

- (int)setAudioEffectReverbParamType:(AliRtcAudioEffectReverbParamType)type value:(float)value;

パラメーター

名前

タイプ

説明

type

AliRtcAudioEffectReverbParamType

効果音のリバーブパターンです。

value

float

パラメーター値を指定します。

戻り値の説明

0 は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

setAudioEffectBeautifyMode

あらかじめ定義された音声美化エフェクトモードを設定します。

- (int)setAudioEffectBeautifyMode:(AliRtcAudioEffectBeautifyMode)mode;

このメソッドは、SDK に組み込まれた音声美化モードを構成します。音声ライブストリーミング、カラオケ、音声ベースのソーシャルアプリなど、音声品質の向上が求められるシナリオに適しています。異なる美化モードを選択すると、声の豊かさや明瞭さを高めるなど、知覚される声の特性が変化し、リモートユーザーのリスニング体験が向上します。

呼び出しタイミング

このメソッドはチャネルに参加する前または後に呼び出すことができます。

パラメーター

パラメーター

タイプ

説明

mode

AliRtcAudioEffectBeatifyMode

音声美化エフェクトモード。詳細については、列挙定義をご参照ください。

戻り値の説明

  • 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

AliRtcAudioEffectEqualizationBandFrequency

周波数帯域インデックス。中心周波数(31 Hz から 16 kHz)に対応します。

gain

float

ゲイン値(dB)。有効範囲:[-15, 15]。

戻り値の説明

0:成功。

0 以外:失敗。

addExternalAudioStream

外部音声トラックを追加します。

- (int)addExternalAudioStream:(AliRtcExternalAudioStreamConfig *_Nonnull)config;

外部音声ストリームを追加するには、次の手順に従います。

  1. <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#d71bbfd2f242b" id="c310321e9eu35">addExternalAudioStream</a> インターフェイスを呼び出して外部音声ストリームを追加し、その ID を取得します。

  2. pushExternalAudioStream を呼び出して、音声データをストリームに供給します。

  3. 通話が終了したら、<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;

このメソッドは、指定されたストリームに音声データを供給します。次の手順に従います。

  1. <a baseurl="t2309850_v9_0_0.xdita" data-node="4087266" data-root="16090" data-tag="xref" href="#d71bbfd2f242b" id="0a353f7272shu">addExternalAudioStream</a> を呼び出して外部音声ストリームを追加し、外部音声ストリーム ID を取得します。

  2. このメソッドを呼び出して、作成されたストリームに音声データを供給します。

  3. 通話が終了したら、<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

AliRtcAudioAccompanyConfig *

伴奏の構成です。

戻り値

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

AliRtcRecordType

録画タイプです。

recordFormat

AliRtcRecordFormat

録画フォーマットです。

filePath

NSString *

録画用のファイル名およびパスです。

audioConfig

AliRtcRecordAudioConfig *

音声構成です。

videoConfig

AliRtcRecordVideoConfig *

映像構成です。

戻り値の説明

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

AliVideoCanvas

*_Nullable

レンダリング構成で、レンダリングビューおよびレンダリングモードを含みます。

track

AliRtcVideoTrack

映像トラックのタイプです。

戻り値の説明

0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

setCameraCapturerConfiguration

カメラの収集設定を設定します。

- (int)setCameraCapturerConfiguration:(AliRtcCameraCapturerConfiguration* _Nonnull)config;

このメソッドは、カメラ方向やフレームレートなどのカメラキャプチャ設定を構成します。

呼び出しのタイミング

カメラをオンにする前に設定する必要があります。たとえば、次の操作の前:

  • startPreview

  • joinChannel(チャネルへの参加)

パラメーター

名前

タイプ

説明

config

AliRtcCameraCapturerConfiguration

* _Nonnull

カメラの収集設定です。関連プロパティのデフォルト値:

  • preference:0

  • cameraDirection:0

  • fps:0

  • cameraCaptureProfile:0

  • disableVideoCaptureReverse:-1

  • enableCameraMacroFocus:-1

  • captureObserverOriginal:-1

  • nativeBufferObserver:-1

  • captureCallbackCvpixelbufferToRaw:-1

"-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

AliRtcVideoTrack

公開状態を変更したい映像トラックのタイプです。

戻り値の説明

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> を呼び出します。

呼び出しタイミング

リモートユーザーの映像が利用可能になったときにトリガーされる onRemoteTrackAvailableNotify コールバックを受信したときに、このメソッドを呼び出すことを推奨します。

パラメーター

名前

タイプ

説明

canvas

AliVideoCanvas

*_Nullable

レンダリング構成で、レンダリングビューおよびレンダリングモードを含みます。

uid

NSString *_Nonnull

ユーザー ID です。

track

AliRtcVideoTrack

構成する映像トラックのタイプです。

応答の説明

0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

isCameraOn

カメラがオンになっているかどうかを照会します。

- (BOOL)isCameraOn;

応答の説明

YES の値はカメラがオンであることを示します。NO の値はカメラがオフであることを示します。

setVideoEncoderConfiguration

映像エンコーディングプロパティを設定します。

- (void)setVideoEncoderConfiguration:(AliRtcVideoEncoderConfiguration* _Nonnull)config;

このメソッドは、解像度、フレームレート、ビットレート、向きなどの映像ストリームエンコーディングパラメーターを設定します。すべての映像シナリオでこのメソッドを呼び出すことを推奨します。

説明

すべての構成パラメーターには有効な範囲があります。無効な値を指定した場合、SDK が自動的に調整します。

呼び出しタイミング

このメソッドはチャネルに参加する前または後に呼び出すことができます。カメラストリームエンコーディングプロパティをセッションごとに一度だけ設定するには、参加前に呼び出すことを推奨します。

制限事項

このメソッドと setVideoMirrorMode の両方が映像ストリームのミラー表示を制御します。どちらか一方のみ使用することを推奨します。両方を使用すると、重複したミラー効果が発生し、不適切な動作につながる可能性があります。

パラメーター

名前

タイプ

説明

config

AliRtcVideoEncoderConfiguration

* _Nonnull

あらかじめ定義されたエンコーディングプロパティです。デフォルト値:

  • dimensions:[640, 480]

  • frameRate:15

  • bitrate:0

  • mirrorMode:0

  • keyFrameInterval:キーフレーム間隔(ミリ秒単位)。デフォルト値:0(SDK が内部で制御)。

  • forceStrictKeyFrameInterval:エンコーダーが構成されたキーフレーム間隔を厳密に従うように強制するかどうか。デフォルト値:false。

  • orientationMode:0

  • rotation:0

  • codecType:AliRtcVideoCodecTypeDefault

  • encoderType:AliRtcVideoEncodeCodecTypeDefault

  • seiForceFrontIFrame:-1

  • enableDynamicEncode:-1

  • disableDipenseResolutionChange:-1

  • enableDowngrade:-1

  • enableH264BFrame:-1

  • enableHevcBFrame:-1

  • backgroundHardwareToSoftware:-1

-1 は SDK 内部のデフォルトを使用することを意味します。

setVideoDecoderConfiguration

映像デコーディングプロパティを設定します。

- (void)setVideoDecoderConfiguration:(AliRtcVideoDecoderConfiguration* _Nonnull)config;

このメソッドは、カメラストリームの映像デコーディングパラメーターを設定します。

呼び出しタイミング

会議に参加する前にこのメソッドを呼び出すことができます。

パラメーター

名前

タイプ

説明

config

AliRtcVideoDecoderConfiguration

* _Nonnull

あらかじめ定義されたデコーディングプロパティです。デフォルト値:

  • codecType:AliRtcVideoCodecTypeDefault

  • enableDecoderBframe:-1

  • backgroundHardwareToSoftware:-1

"-1" は SDK のデフォルト設定を使用することを意味します。

switchCamera

前面および背面カメラを切り替えます。デフォルトでは前面カメラが使用されます。このメソッドは iOS のみで利用可能です。

- (int)switchCamera;

このメソッドは、前面または背面カメラのいずれを使用するかを制御します。ハードウェアの可用性に基づいてアプリケーション実行中に動的にカメラを切り替えることができ、映像ストリームを再起動したり、映像ソースを再構成したりする必要はありません。

呼び出しタイミング

このメソッドは、カメラが正常にオンになった後のみ呼び出すことができます。

制限事項

このメソッドは iOS および Android プラットフォームでのみサポートされています。

戻り値の説明

0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

getCurrentCameraDirection

現在のカメラタイプを照会します。デフォルトでは前面カメラが使用されます。このメソッドは iOS のみで利用可能です。

- (AliRtcCameraDirection)getCurrentCameraDirection;

戻り値の説明

カメラ方向列挙型を返します。

startPreview

ローカルプレビューを開始します。カメラは自動的にオンになります。

- (int)startPreview;

この API はローカル映像プレビューを有効にし、自動的にカメラを起動します。ローカルプレビューを停止するには、`stopPreview` API を呼び出します。

説明

leaveChannel はチャネルから退出し、ローカルプレビューを自動的に停止します。カメラストリームをプッシュしていない場合、カメラは自動的にシャットダウンされます。

呼び出しタイミング

  • このメソッドを呼び出す前に、setLocalViewConfig を使用してプレビュー表示を設定できます。そうしないとプレビューは失敗しますが、ストリームアップロードには影響しません。

  • チャネルに参加する前にこのメソッドを呼び出して早期にプレビューを開始できます。カメラは自動的に起動します。

戻り値の説明

0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

stopPreview

ローカルプレビューを停止します。

- (int)stopPreview;

このメソッドはローカル映像プレビューを停止し、カメラを無効にします。停止後、ローカルプレビューは最後のフレームでフリーズします。ストリームアップロードには影響しません。

説明

leaveChannel はローカルプレビューを自動的に停止します。カメラストリームを公開していない場合、カメラも自動的にオフになります。

呼び出しタイミング

プレビューを停止するためにこのメソッドを呼び出すことができます。

戻り値の説明

0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

setCameraZoom

カメラズームを設定します。

 - (int)setCameraZoom:(float)zoom;

パラメーター

名前

タイプ

説明

zoom

float

ズームレベルです。範囲:カメラがサポートする最大ズーム係数まで 1 以上です。

戻り値

成功時は 0 を返します。それ以外の値は失敗を示します。

GetCameraMaxZoomFactor

カメラの最大ズーム係数を取得します。

 - (float)GetCameraMaxZoomFactor;

戻り値

カメラの最大ズーム係数です。

GetCurrentZoom

現在のカメラズームレベルを取得します。

- (float)GetCurrentZoom;

戻り値

現在のカメラズームレベルです。

SetExposure

カメラ露出レベルを設定できます。

- (int)SetExposure:(float)exposure;

パラメーター

名前

タイプ

説明

exposure

float

露出レベルです。

戻り値

0 は成功を示します。それ以外の値は失敗を示します。

GetCurrentExposure

カメラ露出を取得できます。

- (float)GetCurrentExposure;

戻り値

カメラの露出レベルです。

GetMinExposure

最小カメラ露出を取得します。

- (float)GetMinExposure;

戻り値

カメラの最小露出レベルです。

GetMaxExposure

カメラの最大露出レベルを取得します。

- (float)GetMaxExposure;

戻り値

カメラの最大露出レベルです。

setCameraFlash

カメラフラッシュのトグルを設定できます。

- (int)setCameraFlash:(BOOL)flash;

パラメーター

名前

タイプ

説明

flash

BOOL

フラッシュを有効にするかどうか。

戻り値

戻り値が 0 の場合、成功です。それ以外の値は失敗を示します。

isCameraFocusPointSupported

手動フォーカスがサポートされているかどうかを確認します。

- (BOOL)isCameraFocusPointSupported;

戻り値

手動フォーカスがサポートされている場合は TRUE を返し、そうでない場合は FALSE を返します。

isCameraExposurePointSupported

カメラは露出ポイントの設定をサポートしていますか?

- (BOOL)isCameraExposurePointSupported;

戻り値

TRUE は露出ポイントの設定がサポートされていることを示します。FALSE はサポートされていないことを示します。

setCameraFocusPoint

カメラの手動フォーカスポイントを設定します。

- (int)setCameraFocusPoint:(CGPoint)point;

パラメーター

名前

タイプ

説明

point

CGPoint

フォーカスポイント座標です。変更されるまで有効です。

戻り値

成功時は 0 を返します。それ以外の値は失敗を示します。

setCameraExposurePoint

指定されたポイントでの露出値を設定します。

- (int)setCameraExposurePoint:(CGPoint)point;

パラメーター

名前

タイプ

説明

point

CGPoint

フォーカスポイント座標です。変更されるまで有効です。

戻り値

戻り値が 0 の場合、成功です。それ以外の値は失敗を示します。

isCameraAutoFocusFaceModeSupported

カメラは顔フォーカスをサポートしていますか?

- (BOOL)isCameraAutoFocusFaceModeSupported;

戻り値

TRUE の値は顔自動フォーカスがサポートされていることを示し、FALSE の値はサポートされていないことを示します。

setCameraAutoFocusFaceModeEnabled

顔自動フォーカスを有効または無効にできます。

- (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable;

パラメーター

名前

タイプ

説明

point

CGPoint

フォーカスポイント座標です。変更されるまで有効です。

戻り値

戻り値が TRUE の場合、成功です。戻り値が FALSE の場合、失敗です。

setVideoMirrorMode

映像ミラー表示モードを設定します。

- (int)setVideoMirrorMode:(AliRtcVideoPipelineMirrorMode)mirrorMode;

ローカルプレビューおよび公開映像ストリームにミラー表示を適用するかどうかを設定します。

説明

このメソッドは setLocalViewConfig および setVideoEncoderConfiguration より優先されます。ミラー表示を構成するには、このメソッドを使用することを推奨します。

呼び出しタイミング

このメソッドはチャネルに参加する前または後に動的に呼び出すことができます。SDK は状態を保存し、プレビューまたはエンコーディング(ストリームアップロード)時にミラー表示を適用します。

制限事項

このメソッドは setLocalViewConfig および setVideoEncoderConfiguration と重複しており、どちらにも mirrorMode パラメーターが含まれています。これらのうち 1 つだけを使用することを推奨します。

パラメーター

名前

タイプ

説明

mirrorMode

AliRtcVideoPipelineMirrorMode

ミラー表示のタイプです。

SetCapturePipelineScaleMode

映像リンクのスケーリングモードを設定できます。

-(void)setCapturePipelineScaleMode:(AliRtcCapturePipelineScaleMode)mode;

キャプチャ時またはエンコーディング時のどちらで映像データをスケーリングするかを指定します。たとえば、キャプチャ解像度とエンコーディング解像度が異なる場合、この設定により、プレビュー用データとストリームアップロード用データが一致するかどうかが決まります。

説明

デフォルトのスケーリングモードはキャプチャ時の即時スケーリングです。この API はカメラの起動前に設定する必要があります(startPreview や joinChannel の前)。

呼び出しタイミング

カメラを起動する前にこのメソッドを設定する必要があります。たとえば、startPreview または joinChannel を呼び出す前です。

パラメーター

名前

タイプ

説明

mode

AliRtcCapturePipelineScaleMode

スケーリングのタイプです。

戻り値

0 の値は成功を示します。それ以外の値は失敗を示します。

registerVideoFrameWithObserver

映像データ出力オブザーバーを登録します。

- (void)registerVideoFrameWithObserver:(id<AliRtcVideoFrameDelegate> _Nullable)observer;

このメソッドを使用して、映像データをエクスポートするオブジェクトを登録できます。登録解除するには、unregisterVideoSampleWithObserver を呼び出します。

呼び出しのタイミング

生の映像データ(YUV や RGBA 形式など)をさまざまな段階で取得するには、このインターフェイスを呼び出して映像データモニターを登録できます。

関連コールバック

映像データ出力オブザーバーを正常に登録した後、SDK は各映像フレームのキャプチャ時に実装したコールバックをトリガーします。必要に応じて以下のコールバックを実装してください。

パラメーター

名前

タイプ

説明

observer

AliRtcVideoFrameDelegate

映像データ出力オブザーバーです。

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

AliRtcVideoFrameDelegate

映像データの出力オブジェクトです。

registerLocalVideoTextureObserver

ローカルカメラ映像用の OpenGL テクスチャオブザーバーを登録します。

- (void)registerLocalVideoTextureObserver:(id<AliRtcTextureDelegate> _Nullable)observer;

生の映像データを取得するには、registerVideoSampleObserver を呼び出します。内部テクスチャデータを取得するには、このメソッドを呼び出します。オブザーバーを登録解除するには、unRegisterLocalVideoTextureObserver を呼び出します。

説明
  • このメソッドはローカルカメラ映像にのみ適用されます。

  • ローカルカメラ映像用の OpenGL テクスチャオブザーバーを正常に登録した後、SDK は onTextureCreateonTextureUpdate、および onTextureDestroy コールバックをトリガーします。

関連コールバック

ローカルカメラ映像用の OpenGL テクスチャオブザーバーを正常に登録した後、SDK は各映像フレームがキャプチャされるたびに AliRtcTextureObserver で実装したコールバックをトリガーします。必要に応じて以下のコールバックを実装できます。

  • onTextureCreate:SDK が内部 OpenGL コンテキストを作成したときにトリガーされるコールバックです。

  • onTextureUpdate:各映像フレームが OpenGL テクスチャにアップロードされた後にトリガーされるコールバックです。外部テクスチャオブザーバーが登録されている場合、テクスチャを処理し、更新されたテクスチャ ID を返すことができます。返される値は有効なテクスチャ ID でなければなりません。処理を行わない場合は、入力された textureId を返します。

  • onTextureDestroy:SDK が内部 OpenGL コンテキストを破棄したときにトリガーされるコールバックです。

パラメーター

名前

タイプ

説明

observer

AliRtcTextureDelegate

OpenGL テクスチャオブザーバーです。

unregisterLocalVideoTextureObserver

ローカルカメラ映像用の OpenGL テクスチャオブザーバーを登録解除します。

- (void)unregisterLocalVideoTextureObserver:(id<AliRtcTextureDelegate> _Nullable)observer;

このメソッドは registerLocalVideoTextureObserver に対応し、その登録解除を処理します。

パラメーター

名前

タイプ

説明

observer

AliRtcTextureDelegate

OpenGL テクスチャオブザーバーです。

snapshotVideo

映像のスナップショットを撮影します。

- (int)snapshotVideo:(NSString*_Nullable)userId type:(AliRtcVideoTrack)type;

パラメーター

名前

タイプ

説明

userId

NSString *

ユーザー ID です。nil または "" の値はローカルユーザーを表します。

type

AliRtcVideoTrack

映像ストリームのタイプで、{@link AliRtcVideoTrack::AliRtcVideoTrackCamera} および {@link AliRtcVideoTrack::AliRtcVideoTrackScreen} のみをサポートします。

戻り値

戻り値が 0 の場合、成功です。それ以外の値は失敗を示します。

setExternalVideoSource

外部映像ソースを有効にするかどうかを指定します。

- (int)setExternalVideoSource:(BOOL)enable sourceType:(AliRtcVideoSource)type renderMode:(AliRtcRenderMode)renderMode;

パラメーター

名前

タイプ

説明

enable

BOOL

YES の値は機能が有効であることを示します。NO の値は機能が無効であることを示します。

type

AliRtcVideoSource

ストリームタイプ

renderMode

AliRtcRenderMode

レンダリングモードです。

pushExternalVideoFrame

外部映像データをインポートします。

- (int)pushExternalVideoFrame:(AliRtcVideoDataSample *_Nonnull)frame sourceType:(AliRtcVideoSource)type;

パラメーター

名前

タイプ

説明

frame

AliRtcVideoDataSample

*_Nonnull

フレームデータ

type

AliRtcVideoSource

ストリームタイプ

戻り値の説明

0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

startPublishLiveStreamWithURL

リレー型ライブストリーミングを開始します。

- (int)startPublishLiveStreamWithURL:(NSString *_Nonnull)streamURL liveTranscoding:(AliRtcLiveTranscodingParam *_Nonnull)trancoding;

パラメーター

名前

タイプ

説明

streamUrl

NSString *

アップロード URL です。

transcoding

AliRtcLiveTranscodingParam

*

リレー型ライブストリーミングのパラメーターです。

戻り値の説明

0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

updatePublishLiveStreamWithURL

リレー型ライブストリーミングのパラメーターを更新します。

- (int)updatePublishLiveStreamWithURL:(NSString *_Nonnull)streamURL liveTranscoding:(AliRtcLiveTranscodingParam *_Nonnull)trancoding;

パラメーター

名前

タイプ

説明

streamUrl

NSString *

アップストリーミング URL です。

transcoding

AliRtcLiveTranscodingParam

*

リレー型ライブストリーミングのパラメーターです。

戻り値

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

AliRtcNetworkQualityProbeConfig

プローブ構成パラメーター

戻り値の説明

0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

stopLastmileDetect

ネットワーク品質テストを停止します。

- (int)stopLastmileDetect;

戻り値の説明

0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

sendMediaExtensionMsg

リバーブモードのパラメーターを設定します。

- (int)sendMediaExtensionMsg:(NSData *_Nonnull)data repeatCount:(int)repeatCount delay:(int)delay isKeyFrame:(bool)isKeyFrame;

SDK はメディア拡張メッセージの送受信をサポートしています。SEI (Supplemental Enhancement Information) プロトコルを使用してメッセージを送信します。受信者は onMediaExtensionMsgReceived コールバックをリッスンすることでメッセージを取得できます。

一般的なユースケースは次のとおりです。

  • メディア拡張メッセージを使用して、エンドツーエンドのネットワーク遅延を計算するためのタイムスタンプを送信したり、他のビジネスロジックと同期したりできます。

  • メディア拡張メッセージを使用して、最大 4 KB のペイロードで記述情報を送信できます。小さなペイロードには、JSON またはプレーン文字列を使用します。

呼び出しタイミング

ストリームアップロードが開始された後にこのメソッドを呼び出します。

制限事項

メディア拡張メッセージは音声・映像データチャネルを再利用します。そのため、メッセージの頻度とサイズを制御する必要があります。以下の制限が適用されます。

  • 1 秒あたりの最大メッセージ数は、プロファイルの 1 秒あたりのフレーム数(FPS)設定と同じです。SEI メッセージは H.264 または H.265 ストリームに埋め込まれるため、拡張データをアタッチするには映像フレームのエンコーディングが必要です。

  • メディア転送品質に影響を与えないように、メッセージ本文のサイズは 4 KB に制限されています。この制限は小さなペイロードに適しています。

  • sendMediaExtensionMsg 関数を使用できます。repeatCount パラメーターはカスタムメッセージの冗長性を指定します。このパラメーターが 1 より大きい場合、メッセージは複数回送信されます。

  • パケット損失によるメッセージ損失を防ぐため、チャネル内の他のユーザーも重複したメッセージを受信します。重複排除を行う必要があります。

  • リレー型ライブストリーミングセッションのサブスクライバーもカスタムメッセージを受信します。

  • 一度に送信できる MediaExtensionMsg は 1 つだけです。sendMediaExtensionMsg を複数回呼び出すと、新しい呼び出しのデータが前の呼び出しのデータを上書きします。

関連コールバック

パブリッシャーがメディア拡張メッセージを送信すると、サブスクライバーは onMediaExtensionMsgReceived コールバックを通じてそれらを受信します。

パラメーターの説明

名前

タイプ

説明

data

NSData *

拡張メッセージの内容。最大長:4 KB。

repeatCount

int

繰り返し回数。パケット損失によるメッセージ損失を防ぐための冗長性として使用されます。-1 は、別の sendMediaExtensionMsg が呼び出されるまで無限にリトライすることを意味します。

delay

int

送信前の遅延(ミリ秒単位)。SEI はエンコードされた H.264/H.265 ストリームにアタッチされるため、実際の遅延は若干長くなる場合があります。

isKeyFrame

bool

SEI をキーフレームにのみアタッチするかどうか。true に設定すると、SEI はキーフレームにのみアタッチされます。

戻り値

戻り値が 0 の場合、成功です。それ以外の値は失敗を示します。

sendMediaExtensionMsgEx

メディア拡張情報は、SEI を使用して下位層で送信および実装されます。

- (int)sendMediaExtensionMsgEx:(NSData *_Nonnull)data repeatCount:(int)repeatCount delay:(int)delay isKeyFrame:(bool)isKeyFrame payloadType:(int)payloadType;

SDK はメディア拡張メッセージの送受信をサポートしています。このメソッドは、SEI (Supplemental Enhancement Information) プロトコルを使用してメッセージを送信します。受信者は、onMediaExtensionMsgReceived コールバックをリッスンすることでメッセージを取得できます。payloadType が 5 の場合、このメソッドは sendMediaExtensionMsg と同じように機能します。

一般的なユースケースは次のとおりです。

  • メディア拡張メッセージを使用して、エンドツーエンドのネットワーク遅延計算のためのタイムスタンプを送信したり、他のビジネスロジックと同期したりできます。

  • メディア拡張メッセージを使用して、記述情報を送信できます。最大 4 KB のデータを送信できます。小さなペイロードには、JSON またはプレーン文字列を使用します。

呼び出しタイミング

ストリームアップロードを開始した後に呼び出すことができます。

呼び出し制限

メディア拡張メッセージは音声・映像データチャネルを再利用します。そのため、これらのメッセージの頻度とサイズを制御する必要があります。制限は次のとおりです。

  • 1 秒あたりの最大メッセージ数は、プロファイルの 1 秒あたりのフレーム数(FPS)設定と同じです。SEI メッセージは H.264 または H.265 ストリームに埋め込まれるため、拡張データをアタッチするには映像フレームのエンコーディングが必要です。

  • メディア転送品質に影響を与えないように、メッセージ本文のサイズは 4 KB に制限されています。この制限は小さなペイロードに適しています。

  • sendMediaExtensionMsg 関数の repeatCount パラメーターは、メッセージの冗長性を定義します。1 より大きい値は複数回の送信をトリガーします。

  • パケット損失によるメッセージ損失を防ぐため、チャネル内の他のユーザーも重複したメッセージを受信します。重複排除を行う必要があります。

  • リレー型ライブストリーミングセッションのサブスクライバーもカスタムメッセージを受信します。

  • 一度に送信できる MediaExtensionMsg は 1 つだけです。sendMediaExtensionMsg を複数回呼び出すと、以前のデータが上書きされます。

パラメーター

名前

タイプ

説明

data

NSData *

拡張メッセージの内容。最大長:4 KB。

repeatCount

int

繰り返し回数。パケット損失によるメッセージ損失を防ぐための冗長性として使用されます。-1 は、別の sendMediaExtensionMsg が呼び出されるまで無限にリトライすることを意味します。

delay

int

送信前の遅延(ミリ秒単位)。SEI はエンコードされた H.264/H.265 ストリームにアタッチされるため、実際の遅延は若干長くなる場合があります。

isKeyFrame

bool

SEI をキーフレームにのみアタッチするかどうか。true に設定すると、SEI はキーフレームにのみアタッチされます。

payloadType

int

タイプ。UUID ベースのペイロードには 5 を使用します。有効範囲:[5, 100..254]。

戻り値の説明

  • 0:成功。

  • < 0:失敗。エラーコードを返します。

    • ERR_INNER (-1):内部 SDK エラー。考えられる原因:SDK が初期化されていないか、呼び出し前に破棄された。

onConnectionStatusChange

ネットワーク接続ステータスが変更されたときに呼び出されるコールバックです。

- (void)onConnectionStatusChange:(AliRtcConnectionStatus)status reason:(AliRtcConnectionStatusChangeReason)reason;

パラメーター

パラメーター

タイプ

説明

status

AliRtcConnectionStatus

現在のステータスです。

reason

AliRtcConnectionStatusChangeReason

ステータス変更の具体的な理由です。

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

AliRtcStats

チャネル内のセッションに関する統計です。

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

AliRtcUserOfflineReason

リモートユーザーがオフラインになった理由です。

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

AliRtcAudioTrack

音声ストリームはリモートユーザーの変更に従って更新されます。

videoTrack

AliRtcVideoTrack

映像ストリームはリモートユーザーが変更を行った後に更新されます。

onBye

ユーザーがチャネルから強制的に退出させられたときに呼び出されるコールバックです。

- (void)onBye:(int)code;

このコールバックは、ユーザーが切断されたり、セッションが終了したりしたときにトリガーされます。開発者は code パラメーターを使用して原因を特定し、適切に処理できます。

トリガー条件

  • ユーザーがサーバーによって切断されました。

  • セッションが終了しました(サーバーがチャネルを終了しました)。

  • ユーザーが受動的に切断されました。クライアントはセッションの回復または再接続を試みる必要があります。

パラメーター

パラメーター

タイプ

説明

code

int

メッセージタイプ。有効な値:

  • 1:ユーザーがサーバーによってチャネルからキックアウトされました。

  • 2:チャネルが閉じられました。

  • 3:同じユーザー ID が別のデバイスからチャネルに参加するために使用されたため、ユーザーがサーバーによってチャネルから削除されました。

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

AliRtcPublishState

以前のストリームアップロードステータスです。

newStat

AliRtcPublishState

現在のストリームアップロードステータスです。

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

AliRtcSubscribeState

以前のサブスクリプション状態です。

newState

AliRtcSubscribeState

現在のサブスクリプション状態です。

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

AliRtcPublishState

以前のストリームアップロードステータスです。

newState

AliRtcPublishState

現在のストリームアップロードステータスです。

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

AliRtcSubscribeState

以前のサブスクリプション状態です。

newState

AliRtcSubscribeState

現在のサブスクリプション状態です。

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

AliRtcStats

データコールバック

onRtcLocalVideoStats

ローカル映像パフォーマンス統計(2 秒ごとに更新がトリガーされます)。

- (void)onRtcLocalVideoStats:(AliRtcLocalVideoStats *_Nonnull)localVideoStats;

パラメーター

パラメーター

タイプ

説明

localVideoStats

AliRtcLocalVideoStats

ローカル映像統計です。

onRtcRemoteVideoStats

リモート映像パフォーマンス統計。2 秒ごとにトリガーされます。

- (void)onRtcRemoteVideoStats:(AliRtcRemoteVideoStats *_Nonnull)remoteVideoStats;

パラメーター

パラメーター

タイプ

説明

remoteVideoStats

AliRtcRemoteVideoStats

リモート映像統計です。

onRtcLocalAudioStats

ローカル音声統計(2 秒ごとにトリガーされます)。

- (void)onRtcLocalAudioStats:(AliRtcLocalAudioStats *_Nonnull)localAudioStats;

パラメーター

パラメーター

タイプ

説明

localAudioStats

AliRtcLocalAudioStats

ローカル音声統計です。

onRtcRemoteAudioStats

このコールバックはリモート音声統計を提供し、2 秒ごとにトリガーされます。

- (void)onRtcRemoteAudioStats:(AliRtcRemoteAudioStats *_Nonnull)remoteAudioStats;

パラメーター

パラメーター

タイプ

説明

remoteAudioStats

AliRtcRemoteAudioStats

リモート音声統計です。

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

AliRtcAudioRouteType

ルーティングタイプです。

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;
説明

このコールバックは、startAudioCapturestopAudioCapture を呼び出した結果を報告します。

パラメーター

パラメーター

タイプ

説明

state

AliRtcLocalAudioStateType

デバイスの状態。タイプは AliRtcLocalAudioStateType です。

msg

NSString *

デバイスの状態変更の説明です。

onLocalVideoStateChanged

ローカル映像キャプチャデバイスのステータスのコールバックです。

- (void)onLocalVideoStateChanged:(AliRtcLocalVideoStateType)state message:(NSString *_Nullable)msg;

パラメーター

パラメーター

タイプ

説明

state

AliRtcLocalVideoStateType

デバイスの状態。タイプは AliRtcLocalVideoStateType です。

msg

NSString *

デバイスの状態変更の説明です。

onRemoteUserSubscribedDataChannel

データチャネルメッセージの送信を開始できるときに呼び出されるコールバックです。

- (void)onRemoteUserSubscribedDataChannel:(NSString *_Nonnull)uid;

このコールバックは、リモートユーザーがデータチャネルをサブスクライブしたときにトリガーされます。これにより、指定されたリモートユーザーがカスタムメッセージを受信する準備ができたことがローカルユーザーに通知されます。この時点で sendDataChannelMessage を安全に呼び出してデータを送信できます。このコールバックは、対象ユーザーがデータチャネルをサブスクライブする前にメッセージが送信された場合に発生するパケット損失や失敗を防ぐため、信頼性の高いメッセージ配信に不可欠です。

説明

このコールバックは AI シナリオでのみトリガーされます。

パラメーター

パラメーター

タイプ

説明

uid

NSString *

ユーザー ID です。

onDataChannelMessage

このコールバックはデータチャネルメッセージを処理します。

- (void)onDataChannelMessage:(NSString *_Nonnull)uid controlMsg:(AliRtcDataChannelMsg*_Nonnull)controlMsg;

ARTC SDK は、音声および映像データとともにカスタムメッセージの送受信をサポートしています。このコールバックは、これらのカスタムメッセージを受信します。使用方法の詳細については、「カスタムメッセージの送受信」をご参照ください。

説明
  • インタラクティブシナリオでは、ストリーマーはメッセージを送受信できますが、視聴者はメッセージの受信のみ可能です。

  • この機能はデフォルトで無効になっています。有効にするには、エンジン作成後に setParameter を呼び出して {"data":{"enablePubDataChannel":true,"enableSubDataChannel":true}} を設定します。

トリガーされたとき

このコールバックは、送信者が sendDataChannelMessage を呼び出してカスタムメッセージを送信し、受信者がデータチャネルを有効にした後にトリガーされます。

パラメーター

パラメーター

タイプ

説明

uid

NSString *

ユーザー ID です。

controlMsg

AliRtcDataChannelMsg

データチャネルメッセージです。

onScreenSharePublishStateChanged

このコールバックは、画面共有のストリームアップロードステータスが変更されたときに呼び出されます。

- (void)onScreenSharePublishStateChanged:(AliRtcPublishState)oldState newState:(AliRtcPublishState)newState elapseSinceLastState:(NSInteger)elapseSinceLastState channel:(NSString *_Nonnull)channel;

パラメーター

パラメーター

タイプ

説明

oldState

AliRtcPublishState

プローブ結果です。0 は成功を意味します。-1 はネットワーク品質の悪さによる失敗を意味します。

newState

AliRtcPublishState

以前の配信状態です。

newState

AliRtcPublishState

新しい配信状態です。

elapseSinceLastState

NSInteger

状態変更間の時間間隔(ミリ秒単位)。

channel

NSString *

現在のチャネル ID です。

onCapturedAudioFrame

生データ収集のコールバックです。

- (BOOL)onCapturedAudioFrame:(AliRtcAudioFrame* _Nonnull)frame;

このコールバックは、現在のデバイスでキャプチャされた生の音声データを取得します。デフォルトでは無効になっています。このデータを受信するには:

  • enableAudioFrameObserver(true, audioSource, config) を使用してこのコールバックを有効にできます。config パラメーターで、サンプルレート、サウンドチャネル数、読み取り/書き込みモードを設定できます。

  • registerAudioFrameObserver を呼び出して、音声データ受信者を登録できます。

説明
  • このインターフェイスは、サンプルレート、サウンドチャネル数、読み取り/書き込みモードの設定をサポートしています。

  • このコールバックで時間のかかる操作を実行すると、音声の異常が発生する可能性があるため、避けてください。

  • このインターフェイスは、サンプルレートとサウンドチャネル数の設定をサポートしています。

  • このインターフェイスは、読み取り/書き込みモードをサポートしています。

制限事項

このコールバックで時間のかかる操作を実行しないでください。音声の異常が発生する可能性があります。

パラメーター

パラメーター

タイプ

説明

frame

AliRtcAudioFrame

映像フレームです。

戻り値

true:操作は成功しました。

onProcessCapturedAudioFrame

このコールバックは、3A 処理後の音声データを配信します。

- (BOOL)onProcessCapturedAudioFrame:(AliRtcAudioFrame* _Nonnull)frame;

このコールバックを使用して、3A 処理後の音声データを取得できます。デフォルトでは無効になっています。有効にするには:

  • enableAudioFrameObserver(true, audioSource, config) を呼び出します。config パラメーターで、サンプルレート、サウンドチャネル数、読み取り/書き込みモードを設定できます。

  • registerAudioFrameObserver を呼び出して、音声データ受信者を登録します。

説明
  • このインターフェイスは、サンプルレート、サウンドチャネル数、読み取り/書き込みモードの設定をサポートしています。

  • このコールバックで時間のかかる操作を実行すると、音声の異常が発生する可能性があるため、避けてください。

  • このインターフェイスは、サンプルレートとサウンドチャネル数の設定をサポートしています。

  • このインターフェイスは、読み取り/書き込みモードをサポートしています。

制限事項

このコールバックで時間のかかる操作を実行すると、音声の異常が発生する可能性があるため、避けてください。

パラメーター

パラメーター

タイプ

説明

frame

AliRtcAudioFrame

映像フレームです。

戻り値

true:成功。

onPublishAudioFrame

ストリームアップロードデータのコールバックです。

- (BOOL)onPublishAudioFrame:(AliRtcAudioFrame* _Nonnull)frame;

このコールバックは、配信中の音声データを取得します。デフォルトでは無効になっています。このデータを取得するには:

  • enableAudioFrameObserver(true, audioSource, config) を使用してこのコールバックを有効にできます。config パラメーターで、サンプルレート、サウンドチャネル数、読み取り/書き込みモードを設定できます。

  • registerAudioFrameObserver を呼び出して、音声データ受信者を登録できます。

説明
  • このインターフェイスは、サンプルレートとサウンドチャネル数の構成をサポートしていますが、読み取り専用モードでのみです。

  • このコールバックで時間のかかる操作を実行すると、音声の異常が発生する可能性があるため、避けるべきです。

  • このインターフェイスは、サンプルレートとサウンドチャネル数の構成をサポートしています。

  • このインターフェイスは、読み取り/書き込みモードをサポートしています。

制限事項

このコールバックで時間のかかる操作は避けてください。音声の異常が発生する可能性があります。

パラメーター

パラメーター

タイプ

説明

frame

AliRtcAudioFrame

映像フレームです。

戻り値

true:操作は成功しました。

onPlaybackAudioFrame

音声再生データのコールバックです。

- (BOOL)onPlaybackAudioFrame:(AliRtcAudioFrame* _Nonnull)frame;

このコールバックは音声再生データを取得します。デフォルトでは無効になっています。このデータを取得するには:

  • enableAudioFrameObserver(true, audioSource, config) を使用してこのコールバックを有効にします。config パラメーターで、サンプルレート、サウンドチャネル数、読み取り/書き込みモードを設定できます。

  • registerAudioFrameObserver を呼び出して、音声データ受信者を登録します。

説明
  • このインターフェイスは、サンプルレート、サウンドチャネル数、読み取り/書き込みモードの設定をサポートしています。

  • このコールバックで時間のかかる操作を実行すると、音声の異常が発生する可能性があるため、避けてください。

  • このインターフェイスは、サンプルレートとサウンドチャネル数の設定をサポートしています。

  • このインターフェイスは、読み取り/書き込みモードをサポートしています。

制限事項

このコールバックで時間のかかる操作を実行しないでください。音声の異常が発生する可能性があります。

パラメーター

パラメーター

タイプ

説明

frame

AliRtcAudioFrame

映像フレームです。

戻り値

true:成功。

onRemoteUserAudioFrame

このコールバックは、リモートユーザーの音声ストリームからの音声データを配信します。

- (BOOL)onRemoteUserAudioFrame:(NSString *_Nullable)uid frame:(AliRtcAudioFrame* _Nonnull)frame;

このコールバックはデフォルトで無効になっています。リモートユーザーの音声データを取得するには:

  • enableAudioFrameObserver(true, audioSource, config) を呼び出してコールバックを有効にします。config パラメーターで、サンプルレート、サウンドチャネル数、読み取り/書き込みモードを指定できます。

  • registerAudioFrameObserver を呼び出して、音声データ受信者を登録します。

説明
  • このインターフェイスは、サンプルレートやサウンドチャネル数の設定をサポートしていませんが、読み取り/書き込みモードの構成はサポートしています。

  • このコールバックで時間のかかる操作を実行すると、音声の異常が発生する可能性があるため、避けてください。

  • このインターフェイスは、サンプルレートやサウンドチャネル数の設定をサポートしていません

  • このインターフェイスは、読み取り/書き込みモードの構成をサポートしています。

制限事項

このコールバックで時間のかかる操作を実行すると、音声の異常が発生する可能性があるため、避けてください。

パラメーター

パラメーター

タイプ

説明

frame

AliRtcAudioFrame

映像フレームです。

戻り値

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

AliRtcVideoDataSample

映像フレームデータです。

戻り値

新しいテクスチャ 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

AliRtcVideoSource

映像ストリームのタイプです。

videoSample

AliRtcVideoDataSample

生の映像データです。

戻り値

はい、処理された映像データを SDK に書き戻すことができますが、これは iOS および macOS の I420 および CVPixelBuffer でのみサポートされています。

いいえ:SDK に書き戻さないでください。

onPreEncodeVideoSample

このコールバックは、ローカル映像データがエンコードされる前にトリガーされます。

- (BOOL)onPreEncodeVideoSample:(AliRtcVideoSource)videoSource videoSample:(AliRtcVideoDataSample *_Nonnull)videoSample;

このコールバックを使用すると、SDK が映像フレームをエンコードする前に、YUV 形式などの生の映像データを取得できます。このデータを使用して、ウォーターマークの追加、色の調整、トランスコーディングなどのカスタム処理ロジックを実装できます。その後、処理されたデータを後続のエンコーディングのために SDK に返すかどうかを決定できます。

パラメーター

パラメーター

タイプ

説明

videoSource

AliRtcVideoSource

映像ストリームのタイプです。

videoSample

AliRtcVideoDataSample

生の映像データです。

戻り値

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

AliRtcVideoSource

映像ストリームのタイプです。

videoSample

AliRtcVideoDataSample

生の映像データです。

戻り値

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、音声状態、ボリュームを含みます。

  • UID 値 0 はローカルスピーカーを示します。

  • UID 値 1 はすべてのリモートユーザーのミックスされたボリュームを示します。

  • その他の値は、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

AliRtcLiveTranscodingState

ステータスです。

errCode

AliRtcTrascodingLiveStreamErrorCode

エラーコードです。

onPublishTaskStateChanged

リレー型ライブストリーミングタスクのステータスが変更されたときに呼び出されるコールバックです。

- (void)onPublishTaskStateChanged:(NSString *_Nonnull)streamURL state:(AliRtcTrascodingLiveTaskStatus)state;

パラメーター

パラメーター

タイプ

説明

streamURL

NSString *

アップストリーミング URL です。

state

AliRtcTrascodingLiveTaskStatus

ステータスです。

onNetworkQualityChanged

ネットワーク品質が変更されたときに呼び出されるコールバックです。

- (void)onNetworkQualityChanged:(NSString *_Nonnull)uid
               upNetworkQuality:(AliRtcNetworkQuality)upQuality
             downNetworkQuality:(AliRtcNetworkQuality)downQuality;

パラメーター

パラメーター

タイプ

説明

uid

NSString*

ユーザー ID です。このパラメーターが空の値の場合、ローカルユーザーを示します。

upQuality

AliRtcNetworkQuality

アップストリームのネットワーク状態です。

downQuality

AliRtcNetworkQuality

ダウンストリームのネットワーク状態です。

onLastmileDetectResultWithQuality

ネットワーク品質テストの結果のコールバックです。

- (void)onLastmileDetectResultWithQuality:(AliRtcNetworkQuality)networkQuality;

パラメーター

パラメーター

タイプ

説明

networkQuality

AliRtcNetworkQuality

ネットワーク品質です。

onLastmileDetectResultWithBandWidth

ネットワーク品質テストの結果を返すために呼び出されるコールバックです。

- (void)onLastmileDetectResultWithBandWidth:(int)code result:(AliRtcNetworkQualityProbeResult* _Nonnull)result;

パラメーター

パラメーター

タイプ

説明

code

int

0 の値はテストが成功したことを示します。-1 の値はテストが失敗し、ネットワークが不良であることを示します。

result

AliRtcNetworkQualityProbeResult

ネットワーク品質です。

onOccurError

エンジンでエラーが発生した場合、このコールバックを通じてアプリに通知されます。

- (void)onOccurError:(int)error  message:(NSString *_Nonnull)message;

パラメーター

パラメーター

タイプ

説明

error

int

エラータイプです。AliRtcErrorCode をご参照ください。

message

NSString *

エラーの説明です。

onFirstAudioPacketSentWithTimecost

最初の音声パケットが送信されたときに呼び出されます。

- (void)onFirstAudioPacketSentWithTimecost:(AliRtcAudioTrack)track timeCost:(int)timeCost;

パラメーター

パラメーター

タイプ

説明

track

AliRtcAudioTrack

そのトラックです。

timeCost

int

パケットの送信にかかった時間です。

onFirstVideoFrameReceivedWithUid

このコールバックは、最初の映像フレームが受信されたときに呼び出されます。

- (void)onFirstVideoFrameReceivedWithUid:(NSString *_Nonnull)uid
                      videoTrack:(AliRtcVideoTrack)videoTrack
                        timeCost:(int)timeCost;

パラメーター

パラメーター

タイプ

説明

uid

NSString *

ユーザー ID です。

videoTrack

AliRtcVideoTrack

映像ストリームのラベルです。

timeCost

int

時間コスト(ミリ秒単位)です。

onFirstVideoPacketSentWithVideoTrack

最初に送信された映像パケットのコールバックです。

- (void)onFirstVideoPacketSentWithVideoTrack:(AliRtcVideoTrack)videoTrack
                                    timeCost:(int)timeCost;

パラメーター

パラメーター

タイプ

説明

videoTrack

AliRtcVideoTrack

映像ストリームのラベルです。

timeCost

int

時間コスト(ミリ秒単位)です。

onFirstAudioPacketReceivedWithUid

このコールバックは、最初の音声パケットが受信されたときに呼び出されます。

- (void)onFirstAudioPacketReceivedWithUid:(NSString *_Nonnull)uid
                                 track:(AliRtcAudioTrack)track
                                 timeCost:(int)timeCost;

パラメーター

パラメーター

タイプ

説明

uid

NSString *

ユーザー ID です。

videoTrack

AliRtcAudioTrack

音声ストリームのラベルです。

timeCost

int

時間コスト(ミリ秒単位)です。

onFirstRemoteAudioDecodedWithUid

最初のリモート音声フレームがデコードされたときに発生します。

- (void)onFirstRemoteAudioDecodedWithUid:(NSString *_Nonnull)uid track:(AliRtcAudioTrack)track elapsed:(int)elapsed;

パラメーター

パラメーター

タイプ

説明

uid

NSString *

ユーザー ID です。

track

AliRtcAudioTrack

音声ストリームのラベルです。

elapsed

int

時間コスト(ミリ秒単位)です。

onFirstRemoteVideoFrameDrawn

このコールバックは、リモートユーザーからの最初の映像フレームがレンダリングされたときに呼び出されます。

- (void)onFirstRemoteVideoFrameDrawn:(NSString *_Nonnull)uid videoTrack:(AliRtcVideoTrack)videoTrack width:(int)width height:(int)height elapsed:(int)elapsed;

パラメーター

パラメーター

タイプ

説明

uid

NSString *

ユーザー ID です。

videoTrack

AliRtcVideoTrack

音声ストリームのラベルです。

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

AliRtcAudioAccompanyStateCode

伴奏の再生状態です。

errorCode

AliRtcAudioAccompanyErrorCode

エラーコードです。

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

AliRtcAudioSource

コールバックデータソースのタイプです。

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 のログファイルを保存するための絶対パスです。

  • デフォルトでは、ARTC SDK for iOS のログファイルは Library/Caches/Ali_RTC_Log パスに保存されます。

  • macOS のログのデフォルトパスは /Users/xxx/Documents/Ali_RTC_Log です。

戻り値の説明

0 の値は呼び出しが成功したことを示します。0 以外の値は呼び出しが失敗したことを示します。

setLogLevel

ログレベルを設定します。

- (void)setLogLevel:(AliRtcLogLevel)logLevel;

パラメーター

名前

タイプ

説明

logLevel

AliRtcLogLevel

ログレベル。デフォルト値:AliRtcLogLevelInfo。

setAudioSessionOperationRestriction

SDK が AVAudioSession を制御する権限を持つかどうかを指定します。

- (int)setAudioSessionOperationRestriction:(AliRtcAudioSessionOperationRestriction)restriction;

パラメーター

名前

タイプ

説明

restriction

AliRtcAudioSessionOperationRestriction

SDK の制御権限。デフォルト値:AliRtcAudioSessionOperationRestrictionNone。

setDeviceOrientationMode

デバイスの向きを設定できます。

- (int)setDeviceOrientationMode:(AliRtcOrientationMode)mode;

パラメーター

名前

タイプ

説明

mode

AliRtcOrientationMode

デバイスの向きです。

戻り値

戻り値が 0 の場合、成功です。それ以外の値は失敗を示します。

getNetworkTime

タイムラインのタイムスタンプを取得します。

-(long long)getNetworkTime;

戻り値

タイムスタンプです。

sendDataChannelMessage

-(int) sendDataChannelMessage:(AliRtcDataChannelMsg* _Nonnull)controlMsg;

ARTC SDK は、音声および映像データとともにカスタムメッセージの送受信をサポートしています。このインターフェイスを使用すると、制御命令、同期データ、ビジネスメッセージなどのリアルタイムメッセージを、音声および映像の送信中に送信できます。詳細については、「カスタムメッセージの送受信」をご参照ください。

説明
  • カスタムメッセージチャネルはデフォルトで無効になっています。この機能を使用するには、setParameter API を呼び出して、{"data":{"enablePubDataChannel":true,"enableSubDataChannel":true}} を設定することでカスタムメッセージチャネルを有効にできます。チャネルに参加する前または後に有効にできます。

  • メッセージはテキストなどの任意のデータにすることができます。

関連コールバック

  • 送信者がカスタムメッセージチャネルを正常に有効にした後、このメソッドを呼び出してメッセージを送信できます。受信者は onDataChannelMessage コールバックを通じてメッセージを受信します。

制限事項

  • ストリーマーはメッセージを送受信できます。視聴者はメッセージの受信のみ可能です。

  • カスタムメッセージチャネルを有効にするには、setParameter を呼び出す必要があります。

  • データ送信の制限は次のとおりです。

    • 最大ビットレート:30 KB/s。

    • 1 秒あたり最大 60 パケット。各パケットは 1 KB に制限されます。

パラメーター

名前

タイプ

説明

controlMsg

AliRtcDataChannelMsg *

伴奏制御メッセージです。

戻り値

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

AliRtcScreenShareEncoderConfiguration

画面共有映像エンコーディングパラメーター(解像度、フレームレート、ビットレート、向きなど)。すべてのパラメーターには有効な範囲があります。無効な値を指定した場合、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

AlivcGlobalEnv

グローバル環境を指定します。以下の列挙値をサポートします。
ENV_DEFAULT:中国国内の環境。
ENV_SEA:シンガポールなど、中国国外の環境。




戻り値
int の結果コードを返します。

  • 0:操作は成功しました。

  • 0 以外の値は失敗を示します。