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

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

最終更新日:Aug 26, 2026

このトピックでは、リアルタイム音声・映像 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-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 つのブール値パラメーター (subVideo と subAudio) を使用して、リモートのビデオおよびオーディオストリームをサブスクライブするかどうかを制御し、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 に望ましいサブスクリプション状態を指定します。例:

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

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

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

  • カメラと画面共有の両方のストリームをサブスクライブするには、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

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 を使用してプレビュービューを設定できます。そうしないと、プレビューは失敗しますが、アップストリーミングは影響を受けません。

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

戻り値の説明

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

stopPreview

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

- (int)stopPreview;

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

説明

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

呼び出しのタイミング

このメソッドを呼び出してプレビューを停止できます。

戻り値の説明

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

setCameraZoom

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

 - (int)setCameraZoom:(float)zoom;

パラメーター

名前

タイプ

説明

zoom

float

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

戻り値

成功すると 0 を返します。その他の値は失敗を示します。

GetCameraMaxZoomFactor

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

 - (float)GetCameraMaxZoomFactor;

戻り値

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

GetCurrentZoom

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

- (float)GetCurrentZoom;

戻り値

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

SetExposure

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

- (int)SetExposure:(float)exposure;

パラメーター

名前

タイプ

説明

exposure

float

露出レベル。

戻り値

0 は成功を示します。その他の値は失敗を示します。

GetCurrentExposure

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

- (float)GetCurrentExposure;

戻り値

カメラの露出レベル。

GetMinExposure

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

- (float)GetMinExposure;

戻り値

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

GetMaxExposure

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

- (float)GetMaxExposure;

戻り値

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

setCameraFlash

カメラのフラッシュのオン/オフを設定できます。

- (int)setCameraFlash:(BOOL)flash;

パラメーター

名前

タイプ

説明

flash

BOOL

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

戻り値

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

isCameraFocusPointSupported

マニュアルフォーカスがサポートされているかどうかを確認します。

- (BOOL)isCameraFocusPointSupported;

戻り値

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

isCameraExposurePointSupported

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

- (BOOL)isCameraExposurePointSupported;

戻り値

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

setCameraFocusPoint

カメラのマニュアルフォーカスポイントを設定します。

- (int)setCameraFocusPoint:(CGPoint)point;

パラメーター

名前

タイプ

説明

point

CGPoint

フォーカスポイントの座標。変更されるまでアクティブなままです。

戻り値

成功すると 0 を返します。その他の値は失敗を示します。

setCameraExposurePoint

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

- (int)setCameraExposurePoint:(CGPoint)point;

パラメーター

名前

タイプ

説明

point

CGPoint

フォーカスポイントの座標。変更されるまでアクティブなままです。

戻り値

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

isCameraAutoFocusFaceModeSupported

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

- (BOOL)isCameraAutoFocusFaceModeSupported;

戻り値

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

setCameraAutoFocusFaceModeEnabled

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

- (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable;

パラメーター

名前

タイプ

説明

point

CGPoint

フォーカスポイントの座標。変更されるまでアクティブなままです。

戻り値

戻り値 TRUE は成功を示します。戻り値 FALSE は失敗を示します。

setVideoMirrorMode

ビデオミラーリングモードを設定します。

- (int)setVideoMirrorMode:(AliRtcVideoPipelineMirrorMode)mirrorMode;

ローカルプレビューとパブリッシュされたビデオストリームにミラーリングを適用するかどうかを設定します。

説明

このメソッドは setLocalViewConfig と setVideoEncoderConfiguration よりも優先され、ミラーリングを設定するために使用することを推奨します。

呼び出しのタイミング

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

制限事項

このメソッドは、mirrorMode パラメーターをサポートする setLocalViewConfig および setVideoEncoderConfiguration と重複します。このメソッドのみを使用することを推奨します。

パラメーター

名前

タイプ

説明

mirrorMode

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 は onTextureCreate、onTextureUpdate、および 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 はメディア拡張メッセージの送受信をサポートしています。メッセージは Supplemental Enhancement Information (SEI) プロトコルを使用して送信されます。受信者は onMediaExtensionMsgReceived コールバックをリッスンすることでメッセージを取得できます。

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

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

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

呼び出しのタイミング

アップストリーミングの開始後、このメソッドを呼び出します。

制限事項

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

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

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

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

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

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

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

関連するコールバック

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

パラメーターの説明

名前

タイプ

説明

data

NSData *

拡張メッセージの本文。最大長:4 KB。

repeatCount

int

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

delay

int

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

isKeyFrame

bool

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

戻り値

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

sendMediaExtensionMsgEx

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

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

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

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

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

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

呼び出しのタイミング

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

呼び出し制限

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

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

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

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

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

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

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

パラメーター

名前

タイプ

説明

data

NSData *

拡張メッセージの本文。最大長:4 KB。

repeatCount

int

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

delay

int

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

isKeyFrame

bool

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

payloadType

int

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

戻り値の説明

  • 0: 成功。

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

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

onConnectionStatusChange

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

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

パラメーター

パラメーター

タイプ

説明

status

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

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

パラメーター

パラメーター

タイプ

説明

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}} を設定します。

  • ARTC DataChannel は、オーディオおよびビデオストリームの接続性に依存します。メッセージの送信にはストリームのプッシュが必要であり、メッセージの受信にはストリームのプルが必要です。双方向通信は、オーディオおよびビデオストリーミングに基づいています。

トリガーされるタイミング

このコールバックは、送信者が 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。

ビデオトラック

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}} を設定してカスタムメッセージチャネルを有効にできます。チャンネルに参加する前または後に有効にできます。

  • メッセージはテキストなどの任意のデータにすることができます。

  • ARTC DataChannel 機能は、ストリーミング端末がオーディオまたはビデオストリームをプッシュすることに依存します。シーンでオーディオおよびビデオストリームがプッシュされていることを確認してください。

関連するコールバック

  • 送信者がカスタムメッセージチャネルを正常に有効にした後、このメソッドを呼び出してメッセージを送信できます。受信者は 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 以外の値は失敗を示します。