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

ApsaraVideo Live:AliRtcEngine API

最終更新日:Dec 19, 2025

このトピックでは、Windows 向け ApsaraVideo Real-time Communication (ARTC) SDK の API について説明します。

目次

基本 API

API

説明

Create

AliRtcEngine インスタンス (シングルトンパターン) を作成します。

Destroy

AliRtcEngine インスタンスを破棄します。

QueryInterface

機能 API のインスタンスを取得します。

SetH5CompatibleMode

H5 互換モードを設定します。

GetH5CompatibleMode

現在のモードが H5 互換であるかどうかを確認します。

SetEngineEventListener

イベントリスナーのコールバックを設定します。

GetSDKVersion

現在の SDK バージョン番号を照会します。

チャンネル関連 API

API

説明

SetChannelProfile

チャンネルプロファイルを設定します。

SetAudioProfile

オーディオプロファイルを設定します。

IsAudioOnlyMode

現在のモードが音声のみであるかどうかを照会します。

SetAudioOnlyMode

モードを音声のみ、または音声と映像に設定します。

JoinChannel[1/3]

チャンネルに参加します。

JoinChannel[2/3]

チャンネルに参加します。

JoinChannel[3/3]

チャンネルに参加します。

LeaveChannel

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

IsInCall

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

SetClientRole

ユーザーロールを設定します。

GetClientRole

ユーザーロールを取得します。

RefreshAuthInfo[1/2]

認証情報を更新します。

RefreshAuthInfo[2/2]

認証情報を更新します。

パブリッシュおよびサブスクライブ関連 API

API

説明

PublishLocalAudioStream

ローカルのオーディオストリームをパブリッシュするかどうかを設定します。デフォルトでは、オーディオストリームはパブリッシュされます。

IsLocalAudioStreamPublished

ローカルのオーディオストリームがパブリッシュされているかどうかを照会します。

SetDefaultSubscribeAllRemoteAudioStreams

デフォルトでリモートのオーディオストリームをサブスクライブするかどうかを設定します。デフォルトでは、すべてのリモートオーディオストリームがサブスクライブされます。

この API はチャンネルに参加する前に呼び出してください。

SubscribeRemoteAudioStream

特定のリモートユーザーのオーディオストリームのサブスクライブを停止または再開します。

SubscribeAllRemoteAudioStreams

すべてのリモートオーディオストリームのサブスクライブを停止または再開します。

PublishLocalVideoStream[1/2]

ローカルのビデオストリームをパブリッシュするかどうかを設定します。

PublishLocalVideoStream[2/2]

IsLocalVideoStreamPublished

ローカルのビデオストリームがパブリッシュされているかどうかを照会します。

SetDefaultSubscribeAllRemoteVideoStreams

デフォルトでリモートのビデオストリームをサブスクライブするかどうかを設定します。デフォルトでは、すべてのリモートビデオストリームがサブスクライブされます。

この API はチャンネルに参加する前に呼び出してください。

SubscribeRemoteVideoStream

リモートユーザーのビデオストリームのサブスクライブを停止または再開します。

SubscribeAllRemoteVideoStreams

すべてのリモートビデオストリームのサブスクライブを停止または再開します。

SubscribeRemoteMediaStream[1/2]

特定のリモートユーザーのメディアストリームのサブスクライブを停止または再開します。

この API は、音声と映像の両方のストリームが存在し、制御する必要がある場合に使用します。

SubscribeRemoteMediaStream[2/2]

特定のリモートユーザーのメディアストリームのサブスクライブを停止または再開します。

この API は、音声と映像の両方のストリームが存在し、制御する必要がある場合に使用します。

SubscribeRemoteDestChannelStream

チャンネル間で特定のリモートユーザーのメディアストリームのサブスクライブを停止または再開します。

SetRemoteAudioVolume

ローカルクライアントで指定されたリモートユーザーの再生音量を調整します。

オーディオデバイス管理 API

API

説明

MuteLocalMic

ローカル音声のパブリッシュを停止するかどうかを設定します。

MuteRemoteAudio

リモートのオーディオストリームの再生を停止するかどうかを設定します。

MuteAllRemoteAudio

すべてのリモートオーディオの再生を停止または再開します。

StartAudioCapture[1/2]

音声キャプチャを有効にします。

StartAudioCapture[2/2]

音声キャプチャを有効にします。

StopAudioCapture

音声キャプチャを無効にします。

EnableAudioVolumeIndication

音量検出機能を有効にします。

StartAudioPlayer

音声再生デバイスを有効にします。

StopAudioPlayer

音声再生を無効にします。

SetPlayoutVolume

再生音量を設定します。

SetRecordingVolume

録音音量を設定します。

PlayAudioFileTest

オーディオファイルを再生します。

StopAudioFileTest

オーディオファイルの再生を停止します。

StartAudioCaptureTest

通話前に音声キャプチャテストを開始します。

StopAudioCaptureTest

音声キャプチャテストを停止します。

EnableSystemAudioRecording

システム音声のキャプチャとパブリッシュを有効または無効にします。

IsSystemAudioRecording

システム音声のキャプチャとパブリッシュが有効になっているかどうかを照会します。

SetSystemAudioRecordingVolume

システム音声のキャプチャとパブリッシュの音量を設定します。

GetSystemAudioRecordingVolume

システム音声のキャプチャとパブリッシュの現在の音量を取得します。

SetSystemAudioPlayoutVolume

システム音声の再生音量を設定します。

GetSystemAudioPlayoutVolume

現在のシステム音声の再生音量を取得します。

GetAudioCaptureList

音声キャプチャデバイスのリストを取得します。

GetCurrentAudioCaptureName

現在の音声キャプチャデバイスの名前を取得します。

GetCurrentAudioCaptureID

現在の音声キャプチャデバイスの ID を取得します。

SetCurrentAudioCaptureName

指定した名前の音声キャプチャデバイスを現在のデバイスとして設定します。

SetCurrentAudioCaptureID

現在の音声キャプチャデバイスの ID を設定します。

GetAudioPlayerList

現在のオーディオ再生デバイスのリストを取得します。

GetSystemRecordAudioPlayerList

現在のシステムオーディオ再生デバイスのリストを取得します。

GetCurrentAudioPlayerName

現在のオーディオ再生デバイスの名前を取得します。

GetCurrentAudioPlayerID

現在のオーディオ再生デバイスの ID を取得します。

SetCurrentAudioPlayerName

指定した名前のデバイスを現在の再生デバイスとして設定します。

SetCurrentAudioPlayerID

指定した ID のデバイスを現在の再生デバイスとして設定します。

SetRecordingDeviceVolume

音声キャプチャデバイスの音量を設定します。

GetRecordingDeviceVolume

音声キャプチャデバイスの音量を取得します。

SetPlaybackDeviceVolume

オーディオ再生デバイスの音量を設定します。

GetPlaybackDeviceVolume

オーディオ再生デバイスの音量を取得します。

SetRecordingDeviceMute

音声キャプチャデバイスのミュート状態を設定します。

GetRecordingDeviceMute

音声キャプチャデバイスのミュート状態を取得します。

SetPlaybackDeviceMute

オーディオ再生デバイスのミュート状態を設定します。

GetPlaybackDeviceMute

オーディオ再生デバイスのミュート状態を取得します。

ボイスチェンジとリバーブ

API

説明

SetAudioEffectVoiceChangerMode

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

SetAudioEffectPitchValue

ピッチシフトパラメーターを設定します。

SetAudioEffectReverbMode

リバーブエフェクトモードを設定します。

SetAudioEffectReverbParamType

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

setAudioEffectBeautifyMode

プリセットの美声エフェクトモードを設定します。

setAudioEffectEqualizationParam

オーディオイコライザー (EQ) パラメーターを設定して、指定された周波数帯のゲインを調整します。

カスタム音声入力

API

説明

AddExternalAudioStream

外部オーディオストリームを追加します。

PushExternalAudioStreamRawData

外部オーディオストリームデータを入力します。

SetExternalAudioStreamPublishVolume

パブリッシュ音量を設定します。

GetExternalAudioStreamPublishVolume

公開ボリュームを取得します。

SetExternalAudioStreamPlayoutVolume

外部オーディオストリームの再生音量を設定します。

GetExternalAudioStreamPlayoutVolume

外部オーディオストリームの再生音量を取得します。

RemoveExternalAudioStream

外部オーディオストリームを削除します。

伴奏

API

説明

GetAudioFileInfo

オーディオファイル情報を取得します。

StartAudioAccompany

伴奏のためのオーディオミキシングを開始します。

StopAudioAccompany

伴奏のためのオーディオミキシングを停止します。

SetAudioAccompanyVolume

伴奏の音量を設定します。

SetAudioAccompanyPublishVolume

伴奏のパブリッシュ音量を設定します。

GetAudioAccompanyPublishVolume

伴奏のパブリッシュ音量を取得します。

SetAudioAccompanyPlayoutVolume

伴奏のローカル再生音量を設定します。

GetAudioAccompanyPlayoutVolume

伴奏のローカル再生音量を取得します。

PauseAudioAccompany

伴奏のためのオーディオミキシングを一時停止します。

ResumeAudioAccompany

伴奏のためのオーディオミキシングを再開します。

GetAudioAccompanyDuration

伴奏ファイルの長さをミリ秒単位で取得します。

GetAudioAccompanyCurrentPosition

伴奏ファイルの再生進捗をミリ秒単位で取得します。

SetAudioAccompanyPosition

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

効果音ファイル

API

説明

PreloadAudioEffect

効果音ファイルをプリロードします。

UnloadAudioEffect

プリロードされた効果音ファイルを削除します。

PlayAudioEffect

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

StopAudioEffect

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

StopAllAudioEffects

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

PauseAudioEffect

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

PauseAllAudioEffects

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

ResumeAudioEffect

指定した効果音ファイルを再開します。

ResumeAllAudioEffects

すべての効果音ファイルを再開します。

SetAudioEffectPublishVolume

効果音をパブリッシュするためのミキシング音量を設定します。

GetAudioEffectPublishVolume

効果音をパブリッシュするためのミキシング音量を取得します。

SetAllAudioEffectsPublishVolume

すべての効果音をパブリッシュするためのミキシング音量を設定します。

SetAudioEffectPlayoutVolume

効果音のローカル再生音量を設定します。

GetAudioEffectPlayoutVolume

効果音のローカル再生音量を取得します。

SetAllAudioEffectsPlayoutVolume

すべての効果音のローカル再生音量を設定します。

ビデオデバイス管理 API

API

説明

SetLocalViewConfig

ローカルプレビューのレンダリングウィンドウと描画パラメーターを設定します。

SetCameraCapturerConfiguration

カメラキャプチャのプリファレンスを設定します。

EnableLocalVideo

ローカルビデオキャプチャを無効または再有効化します。

MuteLocalCamera

ローカルのビデオストリームのパブリッシュを停止するかどうかを設定します。

SetRemoteViewConfig

リモートビデオ用のレンダリングウィンドウと描画パラメーターを設定します。

IsCameraOn

カメラがオンになっているか確認します。

SetVideoEncoderConfiguration

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

SetVideoDecoderConfiguration

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

StartPreview

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

StopPreview

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

setVideoMirrorMode

プレビューとパブリッシュのミラーリング機能を設定します。

SetCapturePipelineScaleMode

キャプチャスケーリングのタイミングを設定します。ビデオデータがキャプチャ直後かエンコード中にスケーリングされるかを決定します。

GetCameraList

利用可能なカメラのリストを取得します。

GetCurrentCameraName

現在使用されているカメラの名前を取得します。

GetCurrentCameraID

現在使用されているカメラの ID を取得します。

SetCurrentCameraName

指定した名前のカメラを現在のカメラとして設定します。

SetCurrentCameraID

指定した ID のカメラを現在のカメラとして設定します。

GetCurrentCameraSupportedResolutionList

現在のカメラでサポートされている解像度のリストを取得します。

ビデオデータコールバックの設定

API

説明

RegisterVideoSampleObserver

ビデオデータ出力オブジェクトを登録します。

UnRegisterVideoSampleObserver

ビデオデータ出力オブジェクトの登録を解除します。

SnapshotVideo

ビデオスナップショット機能。

オーディオデータコールバックの設定

API

説明

RegisterAudioFrameObserver

オーディオデータコールバックを登録します。

UnRegisterAudioFrameObserver

オーディオデータ出力のサブスクリプションを解除します。

EnableAudioFrameObserver

オーディオコールバックパラメーターを設定します。

カスタム映像入力

API

説明

SetExternalVideoSource

外部ビデオ入力ソースを有効にします。

PushExternalVideoFrame

ビデオデータを入力します。

画面共有 API

API

説明

StartScreenShareByDesktopId

指定したデスクトップ ID に対応する画面ストリームの共有を開始します。

StartScreenShareByScreenRegion

画面の指定した領域のビデオストリームの共有を開始します。

StartScreenShareByWindowId

ID で指定されたウィンドウからのビデオストリームを共有およびパブリッシュします。

StopScreenShare

画面共有を停止します。

ResumeScreenShare

画面共有を再開します。

PauseScreenShare

画面共有を一時停止します。

IsScreenSharePublished

画面共有がパブリッシュされるように設定されているかどうかを照会します。

UpdateScreenShareConfig

画面共有の構成を更新します。

CheckWindowSourceVaild

共有ウィンドウ ID に対応するウィンドウが有効かどうかを確認します。

GetScreenShareConfig

現在の画面共有の構成情報を返します。

GetScreenShareSourceInfo

指定されたソースに基づいてオブジェクトのリストを取得します。

GetCurrentScreenShareSourceId

現在の画面共有ソースの ID を取得します。

GetCurrentScreenShareSourceType

指定されたソースに基づいてオブジェクトのリストを取得します。

GetDesktopRegion

指定されたソース ID とソースタイトルに基づいて画面共有領域を取得します。

SetScreenShareEncoderConfiguration

画面ストリームのビデオエンコーディングプロパティを設定します。

バイパスライブストリーミング API

API

説明

StartPublishLiveStream

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

UpdatePublishLiveStream

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

StopPublishLiveStream

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

GetPublishLiveStreamState

バイパスライブストリーミングのステータスを取得します。

StartLastmileDetect

通話前のネットワーク品質検知を開始します。

StopLastmileDetect

通話前のネットワーク品質検知を停止します。

ネットワーク品質検出 API

API

説明

StartLastmileDetect

通話前のネットワーク品質検知を開始します。

StopLastmileDetect

通話前のネットワーク品質検知を停止します。

SEI

API

説明

SendMediaExtensionMsg

メディア拡張情報を送信します。内部的には SEI を使用して実装されています。

SendMediaExtensionMsgEx

メディア拡張情報 (拡張) を送信します。内部的には SEI を使用して実装されています。

その他の API

API

説明

SetParameter

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

GetParameter

カスタムパラメーターを取得します。

SetLogDirPath

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

SetLogLevel

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

GetNetworkTime

タイムライン時間を取得します。

SendDataChannelMessage

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

コールバック

AliEngineEventListener

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

通話前のネットワーク品質調査のコールバック。このコールバックは調査開始後約 3 秒で提供されます。

OnLastmileDetectResultWithBandWidth

通話前のネットワーク品質調査の結果のコールバック。このコールバックは調査開始後約 30 秒で提供されます。

OnOccurError

エンジンでエラーが発生した場合、このコールバックがアプリケーションに通知します。

OnFirstAudioPacketSend

最初の音声パケット送信のコールバック。

OnFirstAudioPacketReceived

最初の音声パケット受信のコールバック。

OnFirstVideoPacketSend

最初のビデオパケット送信のコールバック。

OnFirstVideoPacketReceived

最初のビデオパケット受信のコールバック。

OnFirstRemoteAudioDecoded

最初のデコードされたリモート音声フレームのコールバック。

OnFirstRemoteVideoFrameDrawn

このメッセージは、リモートユーザーの最初のビデオフレームが表示されたときにトリガーされます。

OnFirstLocalVideoFrameDrawn

このメッセージは、最初のビデオフレームがプレビューに表示されたときにトリガーされます。

OnTestAudioVolumeCallback

通話前の音声キャプチャテストの音量コールバック。

OnAudioAccompanyStateChanged

ローカル伴奏再生状態のコールバック。

OnAudioFileInfo

音声ファイル情報のコールバック。

OnRemoteAudioAccompanyStarted

リモートユーザーの伴奏が再生を開始したときのコールバック。

OnRemoteAudioAccompanyFinished

リモートユーザーの伴奏が再生を終了したときのコールバック。

OnStats

リアルタイムデータコールバック (2 秒ごとにトリガー)。

OnLocalVideoStats

ローカルビデオ統計 (2 秒ごとにトリガー)。

OnRemoteVideoStats

リモートビデオ統計 (2 秒ごとにトリガー)。

OnLocalAudioStats

ローカルオーディオ統計 (2 秒ごとにトリガー)。

OnRemoteAudioStats

リモートオーディオ統計 (2 秒ごとにトリガー)。

OnMediaExtensionMsgReceived

メディア拡張情報受信のコールバック。

OnSnapshotComplete

スナップショット結果のコールバック。

OnLocalAudioStateChange

ローカルオーディオデバイス状態のコールバック。

onLocalVideoStateChanged

ローカルビデオデバイス状態のコールバック。

OnRemoteUserSubscribedDataChannel

データチャンネルメッセージの送信を開始できることを示すコールバック。

OnDataChannelMessage

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

IAudioFrameObserver

API

説明

OnCapturedAudioFrame

キャプチャされた生データのコールバック。

OnProcessCapturedAudioFrame

3A 処理後のデータのコールバック。

OnPublishAudioFrame

パブリッシュされたストリームデータのコールバック。

OnPlaybackAudioFrame

再生データのコールバック。

OnRemoteUserAudioFrame

リモートストリームデータのコールバック。

IVideoFrameObserver

API

説明

OnCaptureVideoSample

ローカルでキャプチャされたビデオデータのコールバック。

OnPreEncodeVideoSample

エンコード前のローカルビデオデータのコールバック。

OnRemoteVideoSample

リモートビデオデータのコールバック。

GetVideoAlignment

ビデオ出力の幅の配置。

GetObservedFramePosition

ビデオデータ出力コンテンツ。

AliEngineDestroyCompletionCallback

API

説明

onDestroyCompletion

破棄が完了したときのコールバック。

API の詳細

Create

AliRtcEngine インスタンスを作成します。

static AliEngine *Create(const char *extras);

呼び出すタイミング

ARTC SDK の他の API を呼び出す前に、このメソッドを呼び出して AliRtcEngine インスタンスを作成します。

制限事項

SDK は、アプリケーションごとに 1 つの AliRtcEngine インスタンスのみをサポートします。

メトリックの説明

名前

タイプ

説明

extras

const char *

グレースケールリリース用のパラメーターを受け取ります。JSON 設定を使用して、特別な SDK 機能を設定します。このパラメーターは空の文字列にすることができます。

戻り値

AliEngine クラスのシングルトンオブジェクトを返します。

Destroy

AliRtcEngine インスタンスを破棄します。

static void Destroy(AliEngineDestroyCompletionCallback *callback = nullptr);

このメソッドは AliRtcEngine シングルトンオブジェクトを破棄し、そのすべての内部リソースを解放します。このメソッドを呼び出した後は、他の AliRtcEngine メソッドやコールバックは使用できなくなります。再度使用するには、Create を呼び出して新しいインスタンスを作成する必要があります。

説明

このメソッドは非同期呼び出しです。破棄操作の完了を追跡できるコールバックを提供します。<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#TUn2z" id="14c93d2e8bamj">onDestroyCompletion</a> コールバックを受信した後にのみ、新しいインスタンスを作成できます。これは、破棄操作が完了したことを示します。

呼び出すタイミング

リアルタイムコミュニケーションの使用が終了したら、このメソッドを呼び出してインスタンスを解放します。

制限事項

デッドロックを避けるため、SDK のコールバック内ではこのメソッドを呼び出さないでください。

パラメーター

パラメーター

タイプ

説明

callback

AliEngineDestroyCompletionCallback

破棄操作完了時のコールバック。

QueryInterface

機能インターフェイスのインスタンスを取得します。

virtual int QueryInterface(AliEngineInterfaceIdType iid, void** pInterface) = 0;

このメソッドは、特定の機能インターフェイスのインスタンスを取得します。Windows プラットフォームでリアルタイムコミュニケーション用のアプリケーションを開発する場合、オーディオデバイス管理 (AliEngineInterfaceAudioDeviceManager)、ビデオデバイス管理 (AliEngineInterfaceVideoDeviceManager)、メディアエンジン (AliEngineInterfaceMediaEngine) など、多くの高度な機能が対応するインターフェイスクラスを通じて提供されます。関連するメソッドを呼び出す前に、QueryInterface メソッドを使用してこれらのインターフェイスのインスタンスを取得する必要があります。

説明

インターフェイスインスタンスの使用が終了したら、対応するインターフェイスの `Release` メソッドを呼び出してリソースを解放し、メモリリークを防ぎます。

パラメーター

名前

タイプ

説明

iid

AliEngineInterfaceIdType

機能インターフェイスのタイプ。SDK にどのタイプのインターフェイスインスタンスを取得するかを伝えます。

  • AliEngineInterfaceAudioDeviceManager:呼び出しが成功した場合、pInterface は IAliEngineAudioDeviceManager オブジェクトを返します。

  • AliEngineInterfaceVideoDeviceManager:呼び出しが成功した場合、pInterface は IAliEngineVideoDeviceManager オブジェクトを返します。

  • AliEngineInterfaceMediaEngine:呼び出しが成功した場合、pInterface は IAliEngineMediaEngine オブジェクトを返します。

pInterface

void**

指定されたインターフェイスタイプのインスタンスを返します。例: AliEngineInterfaceMediaEngine* mediaEngine = nullptr;

(void**)&mediaEngine を渡します。

戻り値

  • 0:呼び出しは成功しました。

  • <0:呼び出しは失敗しました。

SetH5CompatibleMode

H5 互換モードを有効または無効にします。

static void SetH5CompatibleMode(bool comp);

パラメーター

名前

タイプ

説明

comp

bool

  • true:H5 互換性を有効にします。

  • false:H5 互換性を無効にします。デフォルト値は false です。

説明

現在のバージョンでは、AliRtcEngine インスタンスが作成された後に H5 互換モードを変更することはサポートされていません。インスタンスを作成する前にこのメソッドを呼び出す必要があります。

GetH5CompatibleMode

H5 互換モードが有効になっているかどうかを確認します。

static bool GetH5CompatibleMode();

戻り値

true:H5 互換性が有効です。false:H5 互換性が無効です。

SetEngineEventListener

イベントリスナーのコールバックを設定します。

virtual int SetEngineEventListener(AliEngineEventListener *listener) = 0;

このメソッドは、SDK のコールバックリスナーを設定します。このリスナーを設定することで、チャンネルへのユーザーの参加や退出、ネットワークステータスの変更、音声およびビデオストリームのステータスなど、エンジンからのさまざまな通知イベントを受け取ることができます。

AliEngineEventListener クラスを実装して、リッスンしたいイベントメソッドをカスタマイズする必要があります。デフォルトでは、すべてのメソッドは空の実装を持っているため、すべてを実装する必要はありません。必要なイベントメソッドのみを実装できます。

説明
  • すべてのコールバックは SDK 内部スレッドで実行されます。これらのコールバックで UI 操作を実行しないでください。UI 操作が必要な場合は、メインスレッドで実行してください。コールバック内でこのメソッドを呼び出さないでください。

  • AliEngine の Destroy メソッドの呼び出しなど、時間のかかる操作をコールバックで実行しないでください。これにより、不要なブロッキングが発生し、SDK のパフォーマンスに影響を与える可能性があります。

関連するコールバック

操作中に例外が発生した場合、SDK はまず内部のリトライメカニズムを使用して自動的に回復を試みます。自動的に解決できないエラーについては、SDK は定義済みのコールバックインターフェイスを通じてアプリケーションに通知します。以下は、SDK が処理できず、アプリケーションがリッスンして応答する必要がある問題に関する主要なコールバックです:

例外の原因

コールバックとパラメーター

ソリューション

説明

認証の失敗

OnJoinChannelResult コールバックの result パラメーターが AliRtcErrJoinBadToken を返す

このエラーが発生した場合は、トークンが正しいかどうかを確認してください。

ユーザーが API を呼び出す際、認証に失敗すると、システムは API のコールバックで認証失敗のエラーメッセージを返します。

ネットワーク接続異常

OnConnectionStatusChange コールバックが AliRtcConnectionStatusFailed を返します。

この例外が発生した場合、アプリケーションはチャンネルに再参加する必要があります。

SDK は一定期間のネットワーク切断から自動的に回復できます。ただし、切断時間が設定されたしきい値を超えると、タイムアウトがトリガーされ、接続が失われます。この場合、アプリケーションはネットワークステータスを確認し、ユーザーにチャンネルへの再参加を促す必要があります。

オンプレミスデバイス異常

OnLocalDeviceException

この例外が発生した場合は、権限とデバイスのハードウェアが正常かどうかを確認してください。

RTC サービスは、デバイス検出と例外診断をサポートしています。オンプレミスデバイスで例外が発生すると、RTC サービスはコールバックを通じて顧客に通知します。SDK が問題を解決できない場合、アプリケーションはデバイスが正常かどうかを確認するために介入する必要があります。

キックされてオフラインになる

OnBye

  • AliRtcOnByeUserReplaced:この例外が発生した場合、ユーザー ID が同じかどうかを確認します。

  • AliRtcOnByeBeKickedOut:この例外が発生した場合、ユーザーはサービスによって強制的にオフラインにされたことを意味します。ユーザーはチャンネルに再参加する必要があります。

  • AliRtcOnByeChannelTerminated:この例外が発生した場合、チャンネルが破棄されたことを意味します。ユーザーはチャンネルに再参加する必要があります。

RTC サービスは、管理者が参加者を積極的に削除する機能を提供します。

認証が間もなく期限切れになる

OnWillAuthInfoExpire

この例外が発生した場合は、最新の認証情報を取得し、refreshAuthInfo を呼び出して更新します。

認証の有効期限切れエラーは、ユーザーが API を呼び出すとき、またはプログラムの実行中という 2 つの状況で発生します。したがって、エラーフィードバックは API コールバックまたは別のエラーコールバックを通じて送信されます。

認証期限切れ

OnAuthInfoExpired

この例外が発生した場合、アプリケーションはチャンネルに再参加する必要があります。

認証の有効期限切れエラーは、ユーザーが API を呼び出すとき、またはプログラムの実行中という 2 つの状況で発生します。したがって、エラーフィードバックは API コールバックまたは別のエラーコールバックを通じて送信されます。

パラメーター

名前

タイプ

説明

listener

AliEngineEventListener*

エンジンイベントリスナー。AliEngineEventListener クラスを実装し、リッスンしたいイベントコールバックをオーバーライドする必要があります。これを nullptr に設定すると、すべてのイベントリスナーがキャンセルされます。

戻り値

  • 0:成功。

  • 0 以外の値:失敗。これは、listener パラメーターが無効であるか、SDK が正しく初期化されていないことが原因である可能性があります。

GetSDKVersion

現在の SDK バージョンを照会します。

static const char *GetSDKVersion();

戻り値

現在の SDK バージョン番号を文字列形式で返します。例:「2.5.0.x」。

SetChannelProfile

チャンネルプロファイルを設定します。

virtual int SetChannelProfile(const AliEngineChannelProfile channelProfile) = 0;

このメソッドはチャンネルプロファイルを設定します。現在、ビデオ通話シナリオとインタラクティブストリームシナリオのプロファイルを提供しています:

  • ビデオ通話プロファイル:すべてのユーザーがストリーマーロールを持ち、ストリームをパブリッシュおよびサブスクライブできます。

  • インタラクティブストリームモード:<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#c99c2b257dd8o" id="4e50f781a01e1">SetClientRole</a> メソッドを呼び出してユーザーロールを設定する必要があります。チャンネルでストリームをプッシュするユーザーのロールをストリーマー (AliRTCSdkInteractive) に設定します。ユーザーがストリームをプルするだけでストリームをプッシュしない場合は、ロールを視聴者 (AliRTCSdkLive) に設定します。このモードは RTC シナリオに推奨されます。

説明
  • すべての RTC シナリオでインタラクティブストリームプロファイルを使用することを推奨します。そのためには、このメソッドを呼び出し、プロファイルを AliEngineInteractiveLive に設定します。

  • 同じチャンネル内のユーザーは、同じチャンネルプロファイルを使用する必要があります。

呼び出すタイミング

このメソッドは、チャンネルに参加する前にのみ呼び出すことができます。チャンネル内ではリセットできません。チャンネルを退出した後にリセットできます。

パラメーター

名前

タイプ

説明

profile

AliEngineChannelProfile

チャンネルプロファイル。RTC シナリオでは、これをインタラクティブストリームプロファイルである AliEngineInteractiveLive に設定することを推奨します。

戻り値

  • 0:メソッドの呼び出しは成功しました。

  • その他の値:メソッドの呼び出しは失敗しました。

    • -1:SDK が初期化されていないか、破棄されています。

SetAudioProfile

オーディオプロファイルを設定します。

virtual int SetAudioProfile(int audioProfile, int audioScene) = 0;

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

呼び出すタイミング

このメソッドは、チャンネルに参加する前にのみ呼び出すことができます。チャンネルに参加した後はリセットできません。チャンネルを退出した後にリセットできます。

パラメーター

名前

タイプ

説明

audio_profile

AliEngineAudioProfile

オーディオ収集またはエンコーディングプロファイルのパラメーター。高品質モード (AliRtcEngineHighQualityMode) の使用を推奨します。

説明

Web と相互運用するには、サンプルレートを 48 kHz に設定します。

  • AliEngineLowQualityMode:低品質オーディオモード。デフォルトのサンプルレートは 8000 Hz、モノラル、最大ビットレートは 12 kbps です。

  • AliEngineBasicQualityMode:標準品質オーディオモード。デフォルトのサンプルレートは 16000 Hz、モノラル、最大ビットレートは 24 kbps です。

  • AliEngineHighQualityMode:デフォルトのサンプルレートは 48000 Hz、モノラル、最大ビットレートは 64 kbps です。

  • AliEngineStereoHighQualityMode:ステレオ高品質オーディオモード。デフォルトのサンプルレートは 48000 Hz、ステレオ、最大ビットレートは 80 kbps です。

  • AliEngineSuperHighQualityMode:超高品質オーディオモード。デフォルトのサンプルレートは 48000 Hz、モノラル、最大ビットレートは 96 kbps です。

  • AliEngineStereoSuperHighQualityMode:ステレオ超高品質オーディオモード。デフォルトのサンプルレートは 48000 Hz、ステレオ、最大ビットレートは 128 kbps です。

audio_scene

AliEngineAudioScenario

オーディオシナリオのパラメーター。主に以下が含まれます:

  • AliEngineSceneMusicMode (推奨):音楽シナリオ。ソフトウェアベースの 3A アルゴリズムを使用し、携帯電話からオーディオを収集して、より高いオーディオ品質を実現します。

  • AliEngineSceneDefaultMode:ハードウェアベースの 3A アルゴリズムを使用します。Bluetooth デバイスからオーディオを収集できます。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

IsAudioOnlyMode

現在のモードが音声のみかどうかを確認します。

virtual bool IsAudioOnlyMode() = 0;

戻り値

true:現在のモードは音声のみです。false:現在のモードは音声とビデオです。

SetAudioOnlyMode

モードを音声のみ、または音声と映像に設定します。

virtual int SetAudioOnlyMode(bool audioOnly) = 0;

パラメーター

名前

タイプ

説明

audioOnly

bool

  • true:音声ストリームのみがパブリッシュおよびサブスクライブされます。

  • false:音声とビデオの両方がサポートされます。デフォルト値は false です。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

JoinChannel[1/3]

チャンネルに参加します。

virtual int JoinChannel(const char *token, const char *channelId, const char *userId, const char *userName) = 0;

このメソッドはチャンネルに参加します。ARTC では、ユーザーはチャンネルによって整理されます。ユーザーは、音声およびビデオストリームをパブリッシュまたはサブスクライブするためにチャンネルに参加する必要があります。このメソッド、JoinChannel[2/3]、および JoinChannel[3/3] はすべてチャンネルへの参加に使用できます。認証方法と渡すユーザー情報が異なります:

  • このメソッドは、単一パラメーターでチャンネルに参加するためのものです。トークンベースの認証を使用して単一パラメーター参加用に生成されたトークンを渡す必要があります。RTC シナリオでチャンネルに参加するには、このメソッドを使用することを推奨します。

  • JoinChannel[2/3] は、複数のパラメーターでチャンネルに参加するためのものです。トークンベースの認証を使用して生成された複数パラメーターのトークンと、トークンの生成に使用されたユーザー情報を渡す必要があります。

  • JoinChannel[3/3] は、AI リアルタイムインタラクションシナリオ用です。単一パラメーターのトークンを渡し、シナリオに基づいてユーザープロパティ capabilityProfile を設定する必要があります。

説明

デフォルトでは、チャンネルに参加すると、チャンネル内の他のすべてのユーザーの音声およびビデオストリームをサブスクライブし、自分の音声およびビデオストリームをリモートユーザーにプッシュします。このデフォルトのサブスクリプションをキャンセルしたい場合は、この API を呼び出す前に <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="00e50070ba5ck">SetDefaultSubscribeAllRemoteAudioStreams</a><a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="0b0bcff091gtk">SetDefaultSubscribeAllRemoteVideoStreams</a> を呼び出して、音声またはビデオストリームのサブスクリプションを無効にすることができます。

呼び出すタイミング

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

制限事項

  • チャンネルに正常に参加した後、別のチャンネルに参加するには、まず LeaveChannel を呼び出して現在のチャンネルを退出する必要があります。<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#b70203f9ea0mz" id="b2522e57e4vom">OnLeaveChannelResult</a> コールバックを受信した後にのみ、別のチャンネルに参加できます。

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

  • 異なる App ID を持つアプリケーションは相互に通信できません。

  • チャンネルへの参加に失敗した後のリトライ時にこのメソッドを呼び出さないでください。

関連するコールバック

このメソッドの呼び出しが成功すると、次のコールバックがトリガーされます:

  • ローカルクライアントがチャンネルに参加した結果は、AliRtcEngineEventListener<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#7cbf47a35bcel" id="cad6eb9b1bwx7">OnJoinChannelResult</a> コールバックを通じて返されます。

  • チャンネルに正常に参加した後、リモートクライアントで <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#3333f6e9d344q" id="fab4a94264m28">OnRemoteUserOnLineNotify</a> コールバックがトリガーされます。

パラメーター

パラメーター

タイプ

説明

token

const char *

単一パラメーター参加のための認証情報。

channelId

const char *

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

userId

const char *

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

userName

const char *

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

戻り値

0:メソッドの呼び出しは成功しました。0 以外の値:メソッドの呼び出しは失敗しました。

JoinChannel[2/3]

チャンネルに参加します。

virtual int JoinChannel(const AliEngineAuthInfo &authInfo,
                                 const char *userName) = 0;

このメソッドはチャンネルに参加します。ARTC では、ユーザーはチャンネルによって整理されます。ユーザーは、音声およびビデオストリームをパブリッシュまたはサブスクライブするためにチャンネルに参加する必要があります。このメソッド、JoinChannel[1/3]、および JoinChannel[3/3] はすべてチャンネルへの参加に使用できます。認証方法と渡すユーザー情報が異なります:

  • JoinChannel[1/3] は、単一パラメーターでチャンネルに参加するためのものです。トークンベースの認証を使用して単一パラメーター参加用に生成されたトークンを渡す必要があります。RTC シナリオでチャンネルに参加するには、このメソッドを使用することを推奨します。

  • このメソッドは、複数のパラメーターでチャンネルに参加するためのものです。トークンベースの認証を使用して生成された複数パラメーターのトークンと、トークンの生成に使用されたユーザー情報を渡す必要があります。

  • JoinChannel[3/3] は、AI リアルタイムインタラクションシナリオ用です。単一パラメーターのトークンを渡し、シナリオに基づいてユーザープロパティ capabilityProfile を設定する必要があります。

説明
  • デフォルトでは、チャンネルに参加すると、他のすべてのユーザーの音声およびビデオストリームをサブスクライブし、自分のストリームをリモートユーザーにプッシュします。デフォルトのサブスクリプションをキャンセルするには、この操作を呼び出す前に <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="d4639ae922klp">SetDefaultSubscribeAllRemoteAudioStreams</a><a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="6d0a63e70bpiz">SetDefaultSubscribeAllRemoteVideoStreams</a> を呼び出して、音声またはビデオストリームのサブスクリプションを無効にすることができます。

  • これは、チャンネルに参加するための複数パラメーターのメソッドです。呼び出す前に、複数パラメーターのトークンを生成する必要があります。詳細については、「トークンベースの認証」をご参照ください。

制限事項

  • チャンネルに正常に参加した後、別のチャンネルに参加するには、まず LeaveChannel を呼び出して現在のチャンネルを退出する必要があります。<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#b70203f9ea0mz" id="fcd2fac6abf0y">OnLeaveChannelResult</a> コールバックを受信した後にのみ、別のチャンネルに参加できます。

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

  • 異なる App ID を持つアプリケーションは相互に通信できません。

関連するコールバック

このメソッドの呼び出しが成功すると、次のコールバックがトリガーされます:

  • ローカルクライアントは、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#7cbf47a35bcel" id="b3db8c610ewua">OnJoinChannelResult</a> コールバックを通じてチャンネルへの参加結果を通知されます。

  • チャンネルに正常に参加した後、リモートクライアントで <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#3333f6e9d344q" id="a1297d33bcd92">OnRemoteUserOnLineNotify</a> コールバックがトリガーされます。

パラメーター

名前

タイプ

説明

authInfo

AliEngineAuthInfo

認証情報。

userName

const char *

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

JoinChannel[3/3]

チャンネルに参加します。

virtual int JoinChannel(const char *token, const char *channelId, const char *userId, const AliEngineChannelParam &userParam) = 0;

このメソッドはチャンネルに参加します。ARTC では、ユーザーはチャンネルによって整理されます。ユーザーは、音声およびビデオストリームをパブリッシュまたはサブスクライブするためにチャンネルに参加する必要があります。このメソッド、JoinChannel[1/3]、および JoinChannel[2/3] はすべてチャンネルへの参加に使用できます。認証方法と渡すユーザー情報が異なります:

  • JoinChannel[1/3] は、RTC シナリオでチャンネルに参加するための単一パラメーターのメソッドです。トークンベースの認証を使用して単一パラメーター参加用に生成されたトークンを渡す必要があります。RTC シナリオでチャンネルに参加するには、このメソッドを使用することを推奨します。

  • JoinChannel[2/3] は、複数のパラメーターでチャンネルに参加するためのものです。トークンベースの認証を使用して生成された複数パラメーターのトークンと、トークンの生成に使用されたユーザー情報を渡す必要があります。

  • このメソッドは、AI リアルタイムインタラクションシナリオ用です。単一パラメーターのトークンを渡し、シナリオに基づいてユーザープロパティ capabilityProfile を設定する必要があります。AI エージェントと通信するには、AliCapabilityProfileHuman に設定します。

説明

デフォルトでは、チャンネルに参加すると、チャンネル内の他のすべてのユーザーの音声およびビデオストリームをサブスクライブし、自分の音声およびビデオストリームをリモートユーザーにプッシュします。このデフォルトのサブスクリプションをキャンセルするには、この API を呼び出す前に <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="952a402dc4v73">SetDefaultSubscribeAllRemoteAudioStreams</a><a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="4e977610713wy">SetDefaultSubscribeAllRemoteVideoStreams</a> を呼び出して、音声またはビデオストリームのサブスクリプションを無効にすることができます。

制限事項

  • チャンネルに正常に参加した後、別のチャンネルに参加するには、まず leaveChannel を呼び出して現在のチャンネルを退出する必要があります。<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#b70203f9ea0mz" id="15ec544e3985m">OnLeaveChannelResult</a> コールバックを受信した後にのみ、再度チャンネルに参加できます。

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

  • 異なる App ID を持つアプリケーションは相互に通信できません。

  • チャンネルへの参加に失敗した後のリトライ時にこのメソッドを呼び出さないでください。

関連するコールバック

このメソッドの呼び出しが成功すると、次のコールバックがトリガーされます:

  • ローカルユーザーがチャンネルに参加した結果は、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#7cbf47a35bcel" id="5d109191c950l">OnJoinChannelResult</a> コールバックを通じて提供されます。

  • チャンネルに正常に参加した後、リモートクライアントは <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#3333f6e9d344q" id="fa6f8d9357glx">OnRemoteUserOnLineNotify</a> コールバックをトリガーします。

パラメーター

パラメーター

タイプ

説明

token

const char *

単一パラメーター参加のための認証情報。

channelId

const char *

参加するチャンネル。これはトークンの生成に使用された値と同じでなければなりません。空にすることもできます。空の場合、デフォルトでトークンの生成に使用された channelId が使用されます。

userId

const char *

参加するためのユーザー ID。これはトークンの生成に使用された値と同じでなければなりません。空にすることもできます。空の場合、デフォルトでトークンの生成に使用された userId が使用されます。

userParam

AliEngineChannelParam

ニックネーム、タイプ、カスタム ID などのユーザープロパティ。

戻り値

0:メソッドの呼び出しは成功しました。0 以外の値:メソッドの呼び出しは失敗しました。

LeaveChannel

チャンネルを退出できます。

virtual int LeaveChannel() = 0;

このメソッドを呼び出すと、SDK は音声およびビデオ通話を終了し、現在のチャンネルを退出します。

説明
  • このメソッドは非同期操作です。このメソッドの呼び出しが成功しても、チャンネルを退出したことにはなりません。<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#b70203f9ea0mz" id="2741d56c6eqau">OnLeaveChannelResult</a> コールバックが返されるまで、チャンネルを退出していません。

  • チャンネルを退出した後、エンジンを破棄して null に設定する必要があります。

    mAliRtcEngine->LeaveChannel();
    AliEngine::Destroy();
    mAliRtcEngine = nullptr;

呼び出すタイミング

  • チャンネルを退出するためにこのメソッドを呼び出します。

  • 新しいチャンネルに参加する前に、このメソッドを呼び出して現在のチャンネルを退出する必要があります。

関連するコールバック

  • このメソッドを呼び出すと、ローカルクライアントで <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#b70203f9ea0mz" id="9626ae24d89ue">OnLeaveChannelResult</a> コールバックがトリガーされ、クライアントがチャンネルを正常に退出したかどうかが報告されます。

  • リモートユーザー:この API の呼び出しが成功すると、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#44ce12a0ecj52" id="0dfcab6a6fylt">OnRemoteUserOffLineNotify</a> コールバックがトリガーされます。

レスポンスの説明

値 0 はメソッドの呼び出しが成功したことを示します。その他の値はメソッドの呼び出しが失敗したことを示します。

IsInCall

ユーザーが現在チャンネルに参加しているかどうかを確認します。

virtual bool IsInCall() = 0;

戻り値

true:ユーザーはチャンネルに参加しています。false:ユーザーはチャンネルに参加していません。

SetClientRole

ユーザーロールを設定します。

virtual int SetClientRole(const AliEngineClientRole clientRole) = 0;

このメソッドは、ユーザーロールをストリーマーまたは視聴者に設定します。

インタラクティブストリームモードで、チャンネルに参加する前に:

  • ユーザーロールをストリーマーに設定すると、SDK はデフォルトでローカルの音声およびビデオストリームをパブリッシュし、他のストリーマーの音声およびビデオストリームを受信します。

  • ユーザーロールを視聴者に設定すると、SDK はローカルの音声およびビデオストリームをパブリッシュせず、他のストリーマーの音声およびビデオストリームを受信します。

呼び出すタイミング

このメソッドは、チャンネルに参加する前または後に呼び出すことができます。参加する前に呼び出してユーザーロールを設定するか、参加後に呼び出してユーザーロールを切り替えることができます。

制限事項

このメソッドは、インタラクティブストリームモードでのみ有効です。つまり、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#901e748242y3g" id="322c3da902jpt">SetChannelProfile</a> メソッドを呼び出し、チャンネルプロファイルを AliEngineInteractiveLive に設定する必要があります。

インタラクティブストリームモードでは、チャンネルに参加する前にこのメソッドを明示的に呼び出してユーザーロールを設定することを推奨します。

パラメーター

名前

タイプ

説明

role

AliEngineClientRole

ユーザーロールのタイプ。デフォルト値は AliEngineClientRolelive (視聴者) です。ロールタイプは非通信モードでのみ有効です。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

GetClientRole

現在のユーザーロールタイプ (ストリーマーまたは視聴者) を取得します。

virtual AliEngineClientRole GetClientRole() = 0;

戻り値

メソッドの呼び出しが成功した場合、AliEngineClientRole オブジェクトを返します。これは、ロールがストリーマー (0) または視聴者 (1) であることを示す列挙型です。

RefreshAuthInfo[1/2]

認証情報を更新します。

virtual int RefreshAuthInfo(const AliEngineAuthInfo &authInfo) = 0;

このメソッドは認証情報を更新します。トークンは一定期間後に期限切れになります。トークンが期限切れになると、SDK はサーバーに接続できなくなります。

説明

このメソッドと RefreshAuthInfo[2/2] は両方とも認証情報を更新します。このメソッドは複数パラメーターのトークンを更新するために使用され、RefreshAuthInfo[2/2] は単一パラメーターのトークンを更新するために使用されます。トークン生成の詳細については、「トークンベースの認証」をご参照ください。

呼び出すタイミング

次の状況で:

  • <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#9f8ebe177degw" id="f52a19bb78yoi">OnAuthInfoWillExpire</a> コールバックを受信したとき、これは認証情報がまもなく期限切れになることを示します。サーバーで新しいトークンを再生成し、このメソッドを新しいトークンで呼び出すことを推奨します。

  • トークンを時間内に更新しない場合、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#09c4ec9160eom" id="440c501877fxr">OnAuthInfoExpired</a> コールバックがトリガーされ、認証が期限切れになったことが通知されます。その後、トークンを再生成し、JoinChannel を呼び出してチャンネルに再参加する必要があります。

パラメーター

名前

タイプ

説明

authInfo

AliEngineAuthInfo

認証情報。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

RefreshAuthInfo[2/2]

認証情報を更新します。

virtual int RefreshAuthInfo(const char *token) = 0;

このメソッドはトークンを更新します。トークンは一定期間後に期限切れになります。トークンが期限切れになると、SDK はサーバーに接続できなくなります。

説明

このメソッドと RefreshAuthInfo[1/2] は両方とも認証情報を更新します。このメソッドは単一パラメーターのトークンを更新するために使用され、RefreshAuthInfo[1/2] は複数パラメーターのトークンを更新するために使用されます。トークン生成の詳細については、「トークンベースの認証」をご参照ください。

呼び出すタイミング

次の状況では、サーバーでトークンを再生成し、このメソッドを呼び出して新しいトークンを渡すことを推奨します:

  • <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#9f8ebe177degw" id="b21949148djrc">OnAuthInfoWillExpire</a> コールバックを受信したとき、これは認証情報がまもなく期限切れになることを示します。

  • トークンが時間内に更新されない場合、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#09c4ec9160eom" id="62df9bf63786v">OnAuthInfoExpired</a> コールバックがトリガーされ、認証が期限切れになったことが示されます。この場合、JoinChannel を呼び出してチャンネルに再参加する必要があります。

パラメーター

名前

タイプ

説明

token

const char *token

単一パラメーター参加のための認証情報。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

PublishLocalAudioStream

ローカルオーディオストリームのパブリッシュを有効または無効にします。

virtual int PublishLocalAudioStream(bool enabled) = 0;

このメソッドは、ローカルで収集されたオーディオストリームをパブリッシュするかどうかを制御します。SDK はデフォルトでオーディオストリームをパブリッシュします。デフォルトでオーディオストリームをパブリッシュしたくない場合は、チャンネルに参加する前に PublishLocalAudioStream(false) を呼び出してオーディオストリームのパブリッシュを無効にすることができます。

呼び出すタイミング

このメソッドは、チャンネルに参加する前または後に呼び出すことができます。チャンネルに参加する前に呼び出すと、デフォルトの構成が変更され、チャンネルに参加したときに有効になります。

関連するコールバック

ローカルオーディオストリームのプッシュ状態が変更されると、ローカルクライアントは <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#eb8fab7f5ak7v" id="c584949653jn5">OnAudioPublishStateChanged</a> コールバックをトリガーして、オーディオストリームのプッシュの最新の状態を報告します。リモートクライアントは <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#ff1f7c8581r3r" id="75f2096b1efxy">OnRemoteTrackAvailableNotify</a> コールバックをトリガーして、リモートユーザーの音声およびビデオストリームの変更を報告します。

パラメーター

名前

タイプ

説明

enable

bool

  • true:ローカルオーディオストリームを送信します。

  • false:パブリッシュを停止します。デフォルト値は false です。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

IsLocalAudioStreamPublished

現在オーディオストリームのパブリッシュが許可されているかどうかを照会します。

virtual bool IsLocalAudioStreamPublished() = 0;

戻り値

true:パブリッシュが許可されています。false:パブリッシュが許可されていません。

SetDefaultSubscribeAllRemoteAudioStreams

デフォルトでリモートオーディオストリームをサブスクライブするかどうかを設定します。

virtual int SetDefaultSubscribeAllRemoteAudioStreams(bool sub) = 0;

このメソッドは、デフォルトでリモートユーザーのオーディオストリームをサブスクライブするかどうかを構成します。この設定は、チャンネルに参加する新しいユーザーのオーディオストリームのサブスクリプション動作に影響します。特別な要件がない限り、これを true に設定することを推奨します。

呼び出すタイミング

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

  • チャンネルに参加する前:

    • SDK は、チャンネルに参加するときにデフォルトでリモートユーザーのオーディオストリームをサブスクライブします。この動作を変更したい場合は、参加する前にこのメソッドを呼び出します。

  • チャンネルに参加した後:

    • デフォルトのサブスクリプションを停止したい場合は、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="e95a7e2d6fjwt">SetDefaultSubscribeAllRemoteAudioStreams</a>(false) を呼び出します。これにより、後でチャンネルに参加するユーザーのオーディオストリームはサブスクライブされません。

    • デフォルトのサブスクリプションを停止した後、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#957e547813q56" id="1a391bcabc66e">SubscribeRemoteAudioStream</a> を呼び出して、特定のユーザーのオーディオストリームのサブスクリプションを再開できます。複数のユーザーのサブスクリプションを再開したい場合は、このメソッドを複数回呼び出す必要があります。

    • デフォルトのサブスクリプションを停止した後、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="e79b5ad58awcw">SetDefaultSubscribeAllRemoteAudioStreams</a>(true) を呼び出すと、後続でチャンネルに参加するユーザーのオーディオストリームのみがサブスクライブされます。サブスクリプションが停止している間に参加したリモートユーザーのストリームはサブスクライブされません。

パラメーター

名前

タイプ

説明

sub

bool

  • true:ユーザーのオーディオストリームを受信します。

  • false:ユーザーのオーディオストリームの受信を停止します。デフォルト値は true です。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SubscribeRemoteAudioStream

特定のリモートユーザーのオーディオストリームのサブスクリプションを停止または再開します。

virtual int SubscribeRemoteAudioStream(const char* uid, bool sub) = 0;

このメソッドは、特定のリモートユーザーのオーディオストリームのサブスクリプションを停止または再開します。特別な要件がない限り、これを true に設定することを推奨します。

説明

デフォルトでは、SDK はチャンネルに参加するときにすべてのリモートユーザーのオーディオストリームをサブスクライブします。この動作を変更したい場合は、チャンネルに参加する前に <a baseurl="t2713962_v4_1_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="bf2d59f02d9tq">SetDefaultSubscribeAllRemoteAudioStreams</a>(false) を呼び出して、このデフォルト構成をキャンセルできます。

パラメーター

名前

タイプ

説明

uid

const char*

リモートユーザー ID。

sub

bool

  • true:指定したユーザーのオーディオストリームを受信します。

  • false:指定したユーザーのオーディオストリームの受信を停止します。デフォルト値は true です。

レスポンスの説明

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SubscribeAllRemoteAudioStreams

すべてのリモートオーディオストリームの受信を停止または再開します。

virtual int SubscribeAllRemoteAudioStreams(bool sub) = 0;

このメソッドは、リモートオーディオストリームのサブスクリプションのマスターイッチです。true に設定することを推奨します。false に設定すると、次のようになります:

  • 現在のチャンネル内のすべてのリモートオーディオストリームのサブスクリプションが停止します。

  • 後で参加するユーザーもサブスクライブされません。

  • <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#957e547813q56" id="aface4ad3920l">SubscribeRemoteAudioStream</a> を使用して特定のユーザーのオーディオストリームを制御することはできません。

再サブスクライブするには、このメソッドを再度呼び出し、true に設定してサブスクリプションを再開します。

説明

デフォルトでは、SDK はチャンネルに参加するときにすべてのリモートユーザーのオーディオストリームをサブスクライブします。この動作を変更するには、チャンネルに参加する前に <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="3927721185m08">SetDefaultSubscribeAllRemoteAudioStreams</a>(false) を呼び出して、このデフォルト構成をキャンセルできます。

パラメーター

名前

タイプ

説明

sub

bool

  • true:すべてのユーザーのオーディオストリームを受信します。

  • false:すべてのユーザーのオーディオストリームの受信を停止します。デフォルト値は true です。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

PublishLocalVideoStream[1/2]

カメラストリームをパブリッシュまたはパブリッシュを停止します。

virtual int PublishLocalVideoStream(bool enabled) = 0;

このメソッドは、ローカルで収集されたビデオストリームをパブリッシュするかどうかを制御します。

説明

SDK はデフォルトでビデオストリームをパブリッシュします。ビデオストリームのパブリッシュを無効にするには、チャンネルに参加する前に PublishLocalVideoStream(false) を呼び出すことができます。

呼び出すタイミング

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

チャンネルに参加する前に呼び出すと、デフォルトの構成が変更され、チャンネルに参加したときに有効になります。

関連するコールバック

ローカルオーディオストリームのプッシュ状態が変更されると、ローカルクライアントは <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#6bf4efbd1cadl" id="d37709b09147d">OnVideoPublishStateChanged</a> コールバックをトリガーして新しいオーディオストリームのプッシュステータスを報告し、リモートクライアントは <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#ff1f7c8581r3r" id="f16e4b51bchqb">OnRemoteTrackAvailableNotify</a> コールバックをトリガーしてリモートユーザーの音声およびビデオストリームの変更を報告します。

パラメーター

名前

タイプ

説明

enable

bool

  • true:ビデオを送信します。

  • false:送信を停止します。デフォルト値は true です。

戻り値

  • 0:メソッドの呼び出しは成功しました。

  • <0:メソッドの呼び出しは失敗しました。

PublishLocalVideoStream[2/2]

ビデオストリームの送信を有効または無効にします。

virtual int PublishLocalVideoStream(bool enabled, AliEngineVideoTrack track) = 0;

このメソッドは、ローカルで収集されたビデオストリームをパブリッシュするかどうかを制御します。

説明

SDK はデフォルトでビデオストリームをパブリッシュします。ビデオストリームのパブリッシュを無効にするには、チャンネルに参加する前に PublishLocalVideoStream(false) を呼び出すことができます。

呼び出すタイミング

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

チャンネルに参加する前に呼び出すと、デフォルトの構成が変更され、チャンネルに参加したときに有効になります。

関連するコールバック

ローカルビデオストリームのプッシュ状態が変更されると、ローカルクライアントは <a baseurl="t2713962_v5_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#6bf4efbd1cadl" id="18a9d4b47ezcc">OnVideoPublishStateChanged</a> コールバックをトリガーしてビデオストリームのプッシュの最新の状態を報告します。リモートクライアントは <a baseurl="t2713962_v5_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#ff1f7c8581r3r" id="d01e7a574f92o">OnRemoteTrackAvailableNotify</a> コールバックをトリガーして、リモートユーザーの音声およびビデオストリームが変更されたことを通知します。

パラメーター

名前

タイプ

説明

enable

bool

  • true:ビデオを送信します。

  • false:送信を停止します。デフォルト値は true です。

track

AliEngineVideoTrack

カメラストリームや画面共有ストリームなどのビデオストリームタイプ。

戻り値

  • 0:メソッドの呼び出しは成功しました。

  • <0:メソッドの呼び出しは失敗しました。

IsLocalVideoStreamPublished

現在ビデオストリームのパブリッシュが許可されているかどうかを照会します。

virtual bool IsLocalVideoStreamPublished() = 0;

戻り値

true:カメラストリームはパブリッシュされます。false:カメラストリームはパブリッシュされません。

SetDefaultSubscribeAllRemoteVideoStreams

デフォルトでビデオストリームを受信するかどうかを設定します。

virtual int SetDefaultSubscribeAllRemoteVideoStreams(bool sub) = 0;

このメソッドは、デフォルトでビデオストリームをサブスクライブするかどうかを設定します。SDK はデフォルトでサブスクライブします。

説明

デフォルトでは、SDK はチャンネルに参加するときにリモートユーザーのビデオストリームをサブスクライブします。この動作を変更したい場合は、チャンネルに参加する前にこのメソッドを呼び出すことができます。

呼び出すタイミング

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

  • チャンネルに参加する前:

    • このメソッドを使用して、デフォルトのサブスクリプション設定をキャンセルできます。

  • チャンネルに参加した後:

    • デフォルトのサブスクリプションを停止するには、SetDefaultSubscribeAllRemoteVideoStreams(false) を呼び出します。これにより、後続でチャンネルに参加するユーザーのビデオストリームのサブスクリプションが防止されます。

    • デフォルトのサブスクリプションを停止した後、特定のユーザーのビデオストリームのサブスクリプションを再開したい場合は、SubscribeRemoteVideoStream メソッドを呼び出します。複数のユーザーのサブスクリプションを再開するには、複数回呼び出す必要があります。

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

パラメーター

名前

タイプ

説明

sub

bool

  • true:ユーザーのビデオストリームを受信します。

  • false:ユーザーのビデオストリームを受信しません。デフォルト値は true です。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SubscribeRemoteVideoStream

リモートユーザーのビデオストリームのサブスクライブを停止または再開します。

virtual int SubscribeRemoteVideoStream(const char* uid, AliEngineVideoTrack track, bool sub) = 0;

このメソッドは、特定のユーザーのビデオストリームをサブスクライブまたはサブスクライブ解除します。

説明

デフォルトでは、SDK はチャンネルに参加するときにすべてのリモートユーザーのビデオストリームをサブスクライブします。<a baseurl="t2713962_v4_1_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="f71e02d13ap2b">SetDefaultSubscribeAllRemoteVideoStreams</a>(false) を呼び出して、チャンネルに参加する前にこのデフォルト構成をキャンセルできます。

呼び出すタイミング

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

パラメーター

パラメーター

タイプ

説明

uid

const char*

リモートユーザー ID。

track

AliEngineVideoTrack

ビデオストリームタイプ。

sub

bool

リモートユーザーのビデオストリームをサブスクライブするかどうか。これにより、サブスクリプションまたはサブスクリプション解除が制御されます。

戻り値

  • true:設定は成功しました。

  • false:設定は失敗しました。

SubscribeAllRemoteVideoStreams

すべてのリモートビデオストリームの受信を停止または再開します。

virtual int SubscribeAllRemoteVideoStreams(bool sub) = 0;

このメソッドは、リモートビデオストリームのサブスクリプションのマスターイッチです。false に設定すると、次のようになります:

  • 現在のチャンネル内のすべてのリモートビデオストリームのサブスクリプションが停止します。

  • デフォルトでサブスクライブするように <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="b7b0080f3cnoq">SetDefaultSubscribeAllRemoteVideoStreams</a>(true) を呼び出した場合でも、後でチャンネルに参加する新しいユーザーからのビデオストリームはサブスクライブされません。

  • <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#jyGTp" id="0e2edf97aa1g6">SubscribeRemoteVideoStream</a> を使用して、指定されたユーザーのオーディオストリームを個別に制御することはできません。

再サブスクライブするには、このメソッドを再度呼び出し、true に設定してサブスクリプションを再開します。

説明

デフォルトでは、SDK はチャンネルに参加するときにすべてのリモートユーザーのビデオストリームをサブスクライブします。この動作を変更するには、チャンネルに参加する前に <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="629f58d5304mf">SetDefaultSubscribeAllRemoteVideoStreams</a>(false) を呼び出して、このデフォルト構成をキャンセルできます。

パラメーター

名前

タイプ

説明

sub

bool

  • true:すべてのユーザーのビデオストリームを受信します。

  • false:すべてのユーザーのビデオストリームの受信を許可しないようにします。デフォルト値は true です。

レスポンスの説明

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SubscribeRemoteMediaStream[1/2]

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

virtual int SubscribeRemoteMediaStream(const char* uid, AliEngineVideoTrack videoTrack, bool subVideo,  bool subAudio) = 0;

このメソッドは、リモートの音声およびビデオストリームを一緒にサブスクライブします。

説明

このメソッドでは、AliRtcVideoTrack の AliRtcVideoTrackNo は無効であり、効果はありません。

関連メソッド

SubscribeRemoteMediaStream[2/2] と比較して、このメソッドは 2 つのブール値パラメーター subVideo と subAudio を使用して、リモートの音声およびビデオストリームをサブスクライブするかどうかを決定します。videoTrack パラメーターは、どのビデオストリームをプルするかを制御します。

パラメーター

パラメーター

タイプ

説明

uid

const char*

リモートユーザー ID。

videoTrack

AliEngineVideoTrack

ビデオストリームタイプ。

subVideo

boo

特定のリモートユーザーのビデオストリームのプルを停止または再開します。値:

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

  • false:停止。

subAudio

boo

特定のリモートユーザーのオーディオストリームのプルを停止または再開します。値:

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

  • false:停止。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SubscribeRemoteMediaStream[2/2]

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

virtual int SubscribeRemoteMediaStream(const char* uid, AliEngineVideoTrack videoTrack, AliEngineAudioTrack audioTrack) = 0;

このメソッドは、リモートの音声およびビデオストリームを一緒にサブスクライブします。

関連メソッド

SubscribeRemoteMediaStream[1/2] と比較して、このメソッドは videoTrack と audioTrack パラメーターを使用して、1 回の呼び出しで SDK に目的のサブスクリプション状態を通知します。例:

  • カメラストリームとマイクストリームをサブスクライブするには、メソッドを呼び出すときに videoTrack と audioTrack をそれぞれ AliRtcVideoTrackCameraAliRtcAudioTrackMic に設定します。

  • カメラストリームのサブスクライブを解除し、マイクストリームを維持するには、メソッドを再度呼び出し、videoTrack と audioTrack をそれぞれ AliRtcVideoTrackNoAliRtcAudioTrackMic に設定します。

  • 両方のサブスクリプションをキャンセルするには、メソッドを再度呼び出し、videoTrack と audioTrack をそれぞれ AliRtcVideoTrackNoAliRtcAudioTrackNo に設定します。

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

パラメーター

パラメーター

タイプ

説明

uid

const char*

リモートユーザー ID。

videoTrack

AliEngineVideoTrack

ビデオストリームタイプ。

audioTrack

AliEngineAudioTrack

オーディオストリームタイプ。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SubscribeRemoteDestChannelStream

チャンネル間で指定したユーザーのストリームをサブスクライブします。

virtual int SubscribeRemoteDestChannelStream(const char* channelId, const char* uid, AliEngineVideoTrack track, bool sub_audio, bool sub) = 0;

パラメーター

パラメーター

タイプ

説明

channelId

const char*

リモートチャンネル ID。

uid

const char*

リモートユーザー ID。

track

AliEngineVideoTrack

サブスクライブするビデオストリーム。

sub_audio

bool

特定のリモートユーザーのオーディオストリームのプルを停止または再開します。値:

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

  • false:停止。

sub

bool

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

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SetRemoteAudioVolume

指定されたリモートユーザーの再生音量を調整します。

virtual int SetRemoteAudioVolume(const char *uid, int volume) = 0;

パラメーター

パラメーター

タイプ

説明

uid

const char*

リモートユーザー ID。

volume

int

再生音量。範囲は [0,100] です。

0:ミュート。

100:元の音量。

戻り値

  • 0:成功。

  • 0 以外の値:失敗。

MuteLocalMic

ローカルオーディオデータの送信を停止または再開します。

virtual int MuteLocalMic(bool mute, AliEngineMuteLocalAudioMode mode = AliEngineMuteLocalAudioModeDefault) = 0;
説明

ミュートとは、無音のオーディオフレームを送信することを意味します。収集およびエンコーディングモジュールは引き続き動作します。

呼び出すタイミング

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

関連するコールバック

呼び出しが成功した後、リモートクライアントで <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#a15f0a6cf6id7" id="f4ae88f094vqy">OnUserAudioMuted</a> コールバックがトリガーされ、ユーザーがミュートされているかどうかが示されます。

パラメーター

名前

タイプ

説明

mute

bool

  • true:ローカルオーディオの空のフレームを送信します。

  • false:通常の操作を再開します。デフォルト値は false です。

mode

AliEngineMuteLocalAudioMode

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

  • AliEngineMuteLocalAudioModeDefault:マイクと外部オーディオ入力を含むすべてをミュートします。

  • AliEngineMuteLocalAudioModeMuteAll:マイクと外部オーディオ入力を含むすべてをミュートします。

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

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

MuteRemoteAudio

リモートオーディオの再生を停止または再開します。

virtual int MuteRemoteAudio(const char *uid,
                                    bool mute) = 0;

この API は、指定されたリモートユーザーのオーディオ再生を停止または再開するためにのみ使用されます。リモートオーディオのストリームプルやデコードには影響しません。ユーザーのオーディオストリームのサブスクリプションを解除するには、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#957e547813q56" id="89841a0989t7y">SubscribeRemoteAudioStream</a> を呼び出します。

呼び出すタイミング

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

パラメーター

名前

タイプ

説明

uid

const char *

ユーザー ID。

mute

bool

  • true:再生を停止します。

  • false:再生を再開します。デフォルト値は false です。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

MuteAllRemoteAudio

すべてのリモートユーザーのオーディオトラックの再生を停止または再開します。

virtual int MuteAllRemoteAudio(bool mute) = 0;

このメソッドを使用して、すべてのリモートオーディオ再生を停止または再開します。

説明
  • この操作は再生のみを停止します。ストリームのプルとデコードには影響しません。

  • このメソッドは、JoinChannel を呼び出す前または後に呼び出すことができます。

呼び出すタイミング

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

パラメーター

名前

タイプ

説明

mute

bool

  • true:再生を停止します。

  • false:再生を再開します。デフォルト値は false です。

戻り値

0:メソッドの呼び出しは成功しました。0 以外の値:メソッドの呼び出しは失敗しました。

StartAudioCapture[1/2]

音声収集を開始します。

virtual int StartAudioCapture() = 0;

このメソッドは音声収集を開始します。チャンネルに参加する前に呼び出して、事前に音声収集を開始することもできます。設定されていない場合、SDK は自動的に音声収集デバイスを制御します。stopAudioCapture を呼び出して停止した音声収集を再開するには、このメソッドを呼び出します。

呼び出すタイミング

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

関連メソッド

  • StartAudioCapture[2/2] メソッドは、パラメーターを使用して、チャンネルを退出した後に音声収集デバイスをオンのままにするかどうかを制御できます。

関連するコールバック

このメソッドを呼び出してローカルの音声収集状態を変更した後、OnLocalAudioStateChange コールバックを通じて状態の変更を取得できます。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

StartAudioCapture[2/2]

音声収集を開始します。

virtual int StartAudioCapture(bool keepAlive) = 0;

ミュート後にマイクの音声キャプチャを停止します。

このメソッドは音声収集を開始します。チャンネルに参加する前に呼び出して、事前に音声収集を開始することもできます。設定されていない場合、SDK は自動的に音声収集デバイスを制御します。

呼び出すタイミング

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

関連メソッド

StartAudioCapture[1/2] と比較して、このメソッドでは keepAlive パラメーターを使用して、チャンネルを退出した後に収集デバイスをオンのままにするかどうかを制御できます。

関連するコールバック

このメソッドを呼び出してローカルの音声収集状態を変更した後、OnLocalAudioStateChange コールバックを通じて状態の変更を取得できます。

パラメーター

パラメーター

タイプ

説明

keepAlive

bool

チャンネルを退出した後の収集デバイスの状態。値:

  • true:チャンネルを退出した後、収集デバイスはオンのままです。

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

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

StopAudioCapture

音声収集を停止します。

virtual int StopAudioCapture() = 0;

StartAudioCapture でオーディオデバイスの収集を開始した後、このメソッドを呼び出して停止できます。

関連するコールバック

このメソッドを呼び出してローカルの音声収集状態を変更した後、OnLocalAudioStateChange コールバックを通じて状態の変更を取得できます。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

EnableAudioVolumeIndication

音量コールバックの頻度と平滑化係数を設定します。

virtual int EnableAudioVolumeIndication(int interval, int smooth, int reportVad) = 0;

このメソッドにより、SDK はローカルのパブリッシュユーザーと、瞬間的な音量が最も高いリモートユーザーに関する音量関連情報を定期的にアプリケーションに報告できます。

呼び出すタイミング

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

関連するコールバック

このメソッドの呼び出しが成功した後、チャンネルにパブリッシュしているユーザーがいる場合、SDK は設定された時間間隔で次の 2 つのコールバックをトリガーします:

  • スピーカーの音量は、OnAudioVolumeCallback コールバックを通じて報告されます。コールバックの頻度は `interval` パラメーターによって決まります。

  • 音声アクティビティ検出。アクティブなユーザーが検出されると、スピーカーの UID が OnActiveSpeaker コールバックを通じて報告されます。

呼び出すタイミング

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

パラメーター

名前

タイプ

説明

interval

int

ミリ秒単位の時間間隔。最小値は 10 ms 未満であってはなりません。300〜500 ms に設定することを推奨します。0 以下の値は、音量およびスピーカー表示機能を無効にします。

smooth

int

平滑化係数。範囲は [0,9] です。値が大きいほど平滑度が高くなり、逆にリアルタイム性が向上します。3 に設定することを推奨します。

reportVad

int

話者検出スイッチ。値:

  • 1:オン。onAudioVolumeCallback メソッドを使用して、各スピーカーの状態を報告します。

  • 0:オフ。

レスポンスの説明

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

StartAudioPlayer

オーディオ再生デバイスを開始します。

virtual int StartAudioPlayer() = 0;

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

戻り値

  • 0:成功。

  • 0 以外の値:失敗。エラーコードが返されます。

StopAudioPlayer

オーディオ再生を停止します。

virtual int StopAudioPlayer() = 0;

このメソッドはオーディオ再生を停止できます。AliEngine::StartAudioPlayer に対応します。

パラメーター

なし。

戻り値

  • 0:成功。

  • 0 以外の値:失敗。エラーコードが返されます。

SetPlayoutVolume

再生音量を設定します。

virtual int SetPlayoutVolume(int volume) = 0;

パラメーター

名前

タイプ

説明

volume

int

再生音量。範囲は [0,400] です。0:ミュート。>100:音量を上げます。<100:音量を下げます。

戻り値

  • 0:成功。

  • 0 以外の値:失敗。エラーコードが返されます。

SetRecordingVolume

virtual int SetRecordingVolume(int volume) = 0;

パラメーター

名前

タイプ

説明

volume

int

再生音量。範囲は [0,400] です。0:ミュート。>100:音量を上げます。<100:音量を下げます。

レスポンスの説明

  • 0:成功。

  • 0 以外の値:失敗。エラーコードが返されます。

PlayAudioFileTest

オーディオファイルを再生します。

virtual int PlayAudioFileTest(const char* filePath) = 0;

パラメーター

名前

タイプ

説明

filePath

const char*

再生するオーディオファイルのパス。

戻り値

  • 0:成功。

  • <0:失敗。

StopAudioFileTest

オーディオファイルの再生を停止します。

virtual int StopAudioFileTest() = 0;

戻り値

  • 0:成功。

  • <0:失敗。

StartAudioCaptureTest

通話前に音声収集テストを開始します。

virtual int StartAudioCaptureTest() = 0;

このメソッドは音声収集テストを開始できます。AliEngineEventListener::OnTestAudioVolumeCallback コールバックの結果を使用して、音声収集が正常かどうかを判断できます。

説明

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

戻り値

  • 0:成功。

  • <0:失敗。

StopAudioCaptureTest

音声収集テストを停止します。

virtual int StopAudioCaptureTest() = 0;
説明

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

戻り値

  • 0:成功。

  • <0:失敗。

EnableSystemAudioRecording

システム音声の収集とパブリッシュを有効または無効にします。

virtual int EnableSystemAudioRecording(bool enable, const char *path = nullptr, const char *device_id = nullptr) = 0;

このメソッドは、ブラウザやアプリケーションで再生されるサウンドなど、システムオーディオの収集を有効または無効にします。

説明

このメソッドは Windows と macOS でのみサポートされています。

パラメーター

名前

タイプ

説明

enable

bool

システム音声の収集とパブリッシュを有効または無効にします。

  • true:有効にします。

  • false:無効にします。

path

const char*

path が空の場合、システム全体のサウンドが収集されます。path が .exe プログラムのパスである場合、このプログラムが起動され、そのサウンドが収集されます。

device_id

const char*

path が空の場合、デフォルトのサウンドカードデバイスのサウンドが収集されます。それ以外の場合、この device_id を持つデバイスで再生されるサウンドが収集されます。GetSystemRecordAudioPlayerList によって返される ID を使用します。

戻り値

  • 0:メソッドの呼び出しは成功しました。

  • <0:メソッドの呼び出しは失敗しました。

IsSystemAudioRecording

現在、システムオーディオの収集とパブリッシュが有効になっているかどうかを確認します。

virtual bool IsSystemAudioRecording() = 0;
説明

システムオーディオの収集を有効または無効にするには、EnableSystemAudioRecording を呼び出します。このメソッドは Windows と macOS プラットフォームでのみ有効です。

戻り値

  • true:有効。

  • false:無効。

SetSystemAudioRecordingVolume

システムオーディオの収集とパブリッシュの音量を設定します。

virtual int SetSystemAudioRecordingVolume(int volume) = 0;

このメソッドは Windows と macOS プラットフォームでのみ有効です。

このメソッドは、システムオーディオの収集とパブリッシュが有効になった後にのみ設定できます。それ以外の場合、設定は無効です。

パラメーター

名前

タイプ

説明

volume

int

システム収集のパブリッシュ音量。範囲は [0-400] です。

戻り値

  • 0:成功。

  • <0:失敗。

GetSystemAudioRecordingVolume

現在のシステムオーディオの収集とパブリッシュの音量を取得します。

virtual int GetSystemAudioRecordingVolume() = 0;

このメソッドは Windows と macOS プラットフォームでのみ有効です。

戻り値

システムコレクションの公開ボリューム。

SetSystemAudioPlayoutVolume

システム音声の再生音量を設定します。

virtual int SetSystemAudioPlayoutVolume(int volume) = 0;

このメソッドは Windows と macOS プラットフォームでのみ有効です。

このメソッドは、システムオーディオの収集とパブリッシュが有効になった後にのみ設定できます。それ以外の場合、設定は無効です。

パラメーター

名前

タイプ

説明

volume

int

システム収集の再生音量。範囲は [0-400] です。

戻り値

  • 0:成功。

  • <0:失敗。

GetSystemAudioPlayoutVolume

現在のシステムオーディオの再生音量を取得します。

virtual int GetSystemAudioPlayoutVolume() = 0;

このメソッドは Windows と macOS プラットフォームでのみ有効です。

戻り値

システムは再生ボリュームを管理します。

GetAudioCaptureList

システム内の録音デバイスのリストを取得します。

virtual AliEngineDeviceInfoList* GetAudioCaptureList() = 0;

戻り値

録音デバイスのリストへのポインター、AliEngineDeviceInfoList *。

GetCurrentAudioCaptureName

使用中の録音デバイスの名前を取得します。

virtual String GetCurrentAudioCaptureName() = 0;

戻り値

現在の音声収集デバイスの名前。

GetCurrentAudioCaptureID

使用中の録音デバイスの ID を取得します。

virtual String GetCurrentAudioCaptureID() = 0;

戻り値

現在使用中の録音デバイスの ID。

SetCurrentAudioCaptureName

名前で録音デバイスを選択します。

virtual int SetCurrentAudioCaptureName(const char* captureName) = 0;

パラメーター

名前

タイプ

説明

captureName

const char *

録音デバイス名。

戻り値

成功の場合は 0、失敗の場合はその他の値。

SetCurrentAudioCaptureID

ID で録音デバイスを選択します。

virtual int SetCurrentAudioCaptureID(const char* captureID) = 0;

パラメーター

名前

タイプ

説明

captureID

const char *

録音デバイス ID。

戻り値

成功の場合は 0、失敗の場合はその他の値。

GetAudioPlayerList

システム内のスピーカーのリストを取得します。

virtual AliEngineDeviceInfoList* GetAudioPlayerList() = 0;

戻り値

システム内のスピーカーのリストへのポインター、AliEngineDeviceInfoList *。

GetSystemRecordAudioPlayerList

システム内の録音可能なスピーカーのリストを取得します (システム内録音用)。

virtual AliEngineDeviceInfoList* GetSystemRecordAudioPlayerList() = 0;

戻り値

オーディオ再生デバイスリストは、主に EnableSystemAudioRecording の最後のパラメーターとして使用され、システム再生オーディオを収集します。

GetCurrentAudioPlayerName

現在使用中のスピーカーの名前を取得します。

virtual String GetCurrentAudioPlayerName() = 0;

戻り値

現在のオーディオ再生デバイスの名前。

GetCurrentAudioPlayerID

現在使用中のスピーカーの ID を取得します。

virtual String GetCurrentAudioPlayerID() = 0;

戻り値

現在のオーディオ再生デバイスの ID。

SetCurrentAudioPlayerName

名前でスピーカーを選択します。

virtual int SetCurrentAudioPlayerName(const char* playerName) = 0;

戻り値

オーディオ再生デバイス名。

SetCurrentAudioPlayerID

ID でスピーカーを選択します。

virtual int SetCurrentAudioPlayerID(const char* playerID) = 0;

パラメーター

名前

タイプ

説明

playerID

const char *

再生デバイス ID。

戻り値

成功の場合は 0、失敗の場合はその他の値。

SetRecordingDeviceVolume

音声収集デバイスの音量を設定します。音量範囲は [0, 100] です。

virtual int SetRecordingDeviceVolume(int volume) = 0;

パラメーターリスト

名前

タイプ

説明

volume

int

音量 [0..100]。

戻り値

成功の場合は 0、失敗の場合はその他の値。

GetRecordingDeviceVolume

音声収集デバイスの音量を取得します。

virtual int GetRecordingDeviceVolume() = 0;

戻り値

>=0 は音量を返します。その他の値は失敗を示します。

SetPlaybackDeviceVolume

オーディオ再生デバイスの音量を設定します。音量範囲は [0, 100] です。

virtual int SetPlaybackDeviceVolume(int volume) = 0;

パラメーター

名前

タイプ

説明

volume

int

音量 [0..100]

戻り値

成功の場合は 0、失敗の場合はその他の値。

GetPlaybackDeviceVolume

オーディオ再生デバイスの音量を取得します。

virtual int GetPlaybackDeviceVolume() = 0;

戻り値

システムボリュームの場合は >=0。失敗の場合はその他の値。

SetRecordingDeviceMute

音声収集デバイスをミュートします。

virtual int SetRecordingDeviceMute(bool mute) = 0;

パラメーター

名前

タイプ

説明

mute

bool

録音をミュートするかどうか。

戻り値

成功の場合は 0、失敗の場合はその他の値。

GetRecordingDeviceMute

音声収集デバイスのミュート状態を取得します。

virtual bool GetRecordingDeviceMute() = 0;

戻り値

録音がミュートされているかどうか。

SetPlaybackDeviceMute

オーディオ再生デバイスをミュートします。

virtual int SetPlaybackDeviceMute(bool mute) = 0;

パラメーター

名前

タイプ

説明

mute

bool

録音をミュートするかどうか。

戻り値

成功の場合は 0、失敗の場合はその他の値。

GetPlaybackDeviceMute

オーディオ再生デバイスのミュート状態を取得します。

virtual bool GetPlaybackDeviceMute() = 0;

戻り値

再生デバイスがミュートされているかどうか。

SetAudioEffectVoiceChangerMode

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

virtual int SetAudioEffectVoiceChangerMode(const AliEngineAudioEffectVoiceChangerMode &mode) = 0;

パラメーター

名前

タイプ

説明

mode

AliEngineAudioEffectVoiceChangerMode

モード値。デフォルト値は AliEngineAudioEffectVoiceChangerOff です。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SetAudioEffectPitchValue

ピッチパラメーターを設定します。

virtual int SetAudioEffectPitchValue(double value) = 0;

パラメーター

名前

タイプ

説明

value

double

範囲は [0.5, 2.0] です。デフォルトは 1.0 で、ピッチは変更されません。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SetAudioEffectReverbMode

リバーブエフェクトモードを設定します。

virtual int SetAudioEffectReverbMode(const AliEngineAudioEffectReverbMode& mode) = 0;

パラメーター

名前

タイプ

説明

mode

AliEngineAudioEffectReverbMode

効果音モード。デフォルト値は AliEngineAudioEffectReverbOff です。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SetAudioEffectReverbParamType

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

virtual int SetAudioEffectReverbParamType(const AliEngineAudioEffectReverbParamType& type,
                                                  float value) = 0;

パラメーター

名前

タイプ

説明

type

AliEngineAudioEffectReverbParamType

効果音のリバーブモード。

value

float

特定のパラメーター値。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

setAudioEffectBeautifyMode

プリセットの美声エフェクトモードを設定します。

virtual int SetAudioEffectBeautifyMode(const AliEngineAudioEffectBeautifyMode& mode) = 0;

このメソッドは、SDK 内のプリセットの美声モードを設定します。音声ライブストリーミング、カラオケ、音声ソーシャルネットワーキングなど、人の声の質を美しくする必要があるシナリオに適しています。さまざまな美声モードを選択することで、人の声の聴覚効果を変更できます。たとえば、磁性を高めたり、明瞭度を向上させたりできます。これにより、リモートユーザーのリスニング体験が向上します。

呼び出すタイミング

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

パラメーター

パラメーター

タイプ

説明

mode

AliRtcAudioEffectBeautifyMode

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

戻り値

  • 0:設定は成功しました。

  • 0 以外の値:設定は失敗しました。

setAudioEffectEqualizationParam

オーディオイコライザー (EQ) パラメーターを設定して、指定された周波数帯のゲインを調整します。

virtual int SetAudioEffectEqualizationParam(const AliEngineAudioEffectEqualizationBandFrequency &bandIndex, float gain) = 0;

このメソッドは、グラフィックイコライザーを使用して、ローカルで収集された人の声またはオーディオ信号を調整します。10 の固定周波数帯のいずれかのゲイン (dB) を調整することで、音色をカスタマイズできます。音声の明瞭度の最適化、人の声の強調、ノイズリダクションの補助などのシナリオに適しています。

イコライザーは、31 Hz から 16 kHz までの全オーディオスペクトルの調整をサポートし、合計 10 の標準周波数帯があります。各帯域のゲイン値は個別に設定でき、範囲は [-15, 15] dB で、デフォルトは 0 dB (強調も減衰もなし) です。

制限事項

  • イコライザーは、美声モードが有効になる前に単独で使用することはできません。このメソッドは、setAudioEffectBeautifyMode を呼び出した後に呼び出す必要があります。

パラメーター

パラメーター

タイプ

説明

bandIndex

AliRtcAudioEffectEqualizationBandFrequency

調整する周波数帯のインデックス。中心周波数 (31Hz ~ 16kHz) のセグメントに対応します。

gain

float

dB 単位のゲイン値。範囲は [-15, 15] です。

レスポンスの説明

0:設定は成功しました。

0 以外の値:設定は失敗しました。

AddExternalAudioStream

外部オーディオストリームを追加します。

virtual int AddExternalAudioStream(const AliEngineExternalAudioStreamConfig& config) = 0;

このメソッドは、新しい外部オーディオストリームを追加します。手順は次のとおりです:

  1. <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#991b862eb353w" id="08ee3d1ed35jj">AddExternalAudioStream</a> を呼び出して外部オーディオストリームを追加し、外部オーディオストリーム ID を取得します。

  2. <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e6cf3f7cef0g6" id="fae817d0f00p3">PushExternalAudioStreamRawData</a> を呼び出して、作成されたオーディオストリームにオーディオデータをプッシュします。

  3. 通話が終了したら、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#u27oe" id="3b9a3eb119umh">RemoveExternalAudioStream</a> を呼び出して外部オーディオストリームを削除する必要があります。

チャンネルでカスタム収集されたオーディオをパブリッシュする方法の詳細については、「カスタムオーディオ収集」をご参照ください。

パラメーター

名前

タイプ

説明

config

AliEngineExternalAudioStreamConfig

外部オーディオストリームの構成。

戻り値

0 より大きい値は、メソッドの呼び出しが成功し、外部オーディオストリーム ID を返すことを示します。その他の値は、メソッドの呼び出しが失敗したことを示します。

PushExternalAudioStreamRawData

外部オーディオストリームデータを入力します。

virtual int PushExternalAudioStreamRawData(int streamId, AliEngineAudioRawData& data) = 0;

このメソッドは、指定されたオーディオストリームにデータを渡します。手順は次のとおりです:

  1. <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#991b862eb353w" id="3836ac109732c">AddExternalAudioStream</a> API を呼び出して外部オーディオストリームを追加し、外部オーディオストリーム ID を取得します。

  2. PushExternalAudioStreamRawData を呼び出して、作成されたオーディオストリームにオーディオデータを渡します。

  3. 通話が終了したら、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#u27oe" id="398ea88d61fn0">RemoveExternalAudioStream</a> を呼び出して外部オーディオストリームを削除する必要があります。

チャンネルでカスタム収集されたオーディオをパブリッシュする方法の詳細については、「カスタムオーディオ収集」をご参照ください。

パラメーター

名前

タイプ

説明

streamId

int

外部オーディオストリーム ID。

data

AliEngineAudioRawData

オーディオデータ。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SetExternalAudioStreamPublishVolume

外部オーディオストリームのパブリッシュ音量を設定します。

virtual int SetExternalAudioStreamPublishVolume(int streamId, int vol) = 0;

パラメーター

名前

タイプ

説明

streamId

int

外部オーディオストリーム ID。

vol

int

公開ボリューム。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SetExternalAudioStreamPlayoutVolume

外部オーディオストリームのパブリッシュ音量を設定します。

virtual int SetExternalAudioStreamPlayoutVolume(int streamId, int vol) = 0;

パラメーター

名前

タイプ

説明

streamId

int

外部オーディオストリーム ID。

vol

int

パブリッシングボリューム。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

GetExternalAudioStreamPublishVolume

外部オーディオストリームのパブリッシュ音量を取得します。

virtual int GetExternalAudioStreamPublishVolume(int streamId) = 0;

パラメーター

名前

タイプ

説明

streamId

int

外部オーディオストリーム ID。

戻り値

[0, 100]:パブリッシュ音量。0 未満の値は失敗を示します。

GetExternalAudioStreamPlayoutVolume

外部オーディオストリームの再生音量を取得します。

virtual int GetExternalAudioStreamPlayoutVolume(int streamId) = 0;

パラメーター

名前

タイプ

説明

streamId

int

外部オーディオストリーム ID。

戻り値

[0, 100]:再生音量。0 未満の値は失敗を示します。

RemoveExternalAudioStream

外部オーディオストリームを削除します。

virtual int RemoveExternalAudioStream(int streamId) = 0;

このメソッドは、渡された streamId に基づいて対応する外部オーディオストリームを削除します。これは AddExternalAudioStream メソッドに対応します。

呼び出すタイミング

カスタムオーディオ入力機能を使用したい場合は、AddExternalAudioStream メソッドを呼び出してオーディオストリームを追加し、外部オーディオストリーム ID を取得する必要があります。その後、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e6cf3f7cef0g6" id="bdab74f108i1p">PushExternalAudioStreamRawData</a> インターフェイスを呼び出してオーディオデータを SDK に入力できます。カスタムオーディオ入力を停止したい場合は、このインターフェイスを呼び出して対応する外部オーディオストリームを削除し、リソースをクリーンアップします。

パラメーター

名前

タイプ

説明

streamId

int

オーディオストリーム ID。

戻り値

成功の場合は 0、失敗の場合はその他の値。

GetAudioFileInfo

オーディオファイル情報を取得します。

virtual int GetAudioFileInfo(const char *filePath) = 0;

これは非同期メソッドです。AliEngineEventListener::OnAudioFileInfo を通じてオーディオファイル情報を取得できます。

パラメーター

名前

タイプ

説明

filePath

const char *

オーディオファイルのパス。

戻り値

  • 0:成功。

  • 0 以外の値:失敗。エラーコードが返されます。

StartAudioAccompany

伴奏のオーディオミキシングを開始します。

virtual int StartAudioAccompany(const char *filePath, const AliEngineAudioAccompanyConfig& config) = 0;

これは非同期メソッドです。AliEngineEventListener::OnAudioAccompanyStateChanged を通じてオーディオ伴奏プレーヤーの状態をリッスンできます。

パラメーター

名前

タイプ

説明

filePath

const char *

オーディオファイルのパス。

config

const AliEngineAudioAccompanyConfig

伴奏再生の構成。

戻り値

  • 0:成功。

  • 0 以外の値:失敗。エラーコードが返されます。

StopAudioAccompany

伴奏のオーディオミキシングを停止します。

virtual int StopAudioAccompany() = 0;

戻り値

  • 0:成功。

  • 0 以外の値:失敗。エラーコードが返されます。

SetAudioAccompanyVolume

伴奏の音量を設定します。

 virtual int SetAudioAccompanyVolume(int volume) = 0;

パラメーター

名前

タイプ

説明

volume

int

伴奏の音量。範囲は [0,100] です。

  • 0:ミュート。

  • 100:元の音量。

戻り値

  • 0:成功。

  • 0 以外の値:失敗。エラーコードが返されます。

SetAudioAccompanyPublishVolume

伴奏のパブリッシュ音量を設定します。

virtual int SetAudioAccompanyPublishVolume(int volume) = 0;
説明

音量は、AliEngine::StartAudioAccompany が有効になった後にのみ設定できます。

パラメーター

名前

タイプ

説明

volume

int

伴奏のパブリッシュ音量。範囲は [0,100] です。

  • 0:ミュート。

  • 100:元の音量。

戻り値

  • 0:成功。

  • 0 以外の値:失敗。エラーコードが返されます。

GetAudioAccompanyPublishVolume

伴奏のパブリッシュ音量を取得します。

virtual int GetAudioAccompanyPublishVolume() = 0;

戻り値

伴奏のパブリッシュ音量。範囲は [0-100] です。

SetAudioAccompanyPlayoutVolume

伴奏のローカル再生音量を設定します。

virtual int SetAudioAccompanyPlayoutVolume(int volume) = 0;

パラメーター

名前

タイプ

説明

volume

int

伴奏の再生音量。範囲は [0,100] です。

  • 0:ミュート。

  • 100:元の音量。

戻り値

  • 0:成功。

  • 0 以外の値:失敗。エラーコードが返されます。

GetAudioAccompanyPlayoutVolume

伴奏のローカル再生音量を取得します。

virtual int GetAudioAccompanyPlayoutVolume() = 0;

戻り値

伴奏のローカル再生音量。範囲は [0-100] です。

PauseAudioAccompany

伴奏のオーディオミキシングを一時停止します。

virtual int PauseAudioAccompany() = 0;

レスポンスの説明

  • 0:成功。

  • 0 以外の値:失敗。エラーコードが返されます。

ResumeAudioAccompany

伴奏のオーディオミキシングを再開します。

virtual int ResumeAudioAccompany() = 0;

レスポンスの説明

  • 0:成功。

  • 0 以外の値:失敗。エラーコードが返されます。

GetAudioAccompanyDuration

伴奏ファイルの長さをミリ秒単位で取得します。

virtual int GetAudioAccompanyDuration() = 0;

レスポンスの説明

オーディオ伴奏ファイルの長さをミリ秒単位で返します。

GetAudioAccompanyCurrentPosition

伴奏ファイルの再生進捗をミリ秒単位で取得します。

virtual int GetAudioAccompanyCurrentPosition() = 0;

戻り値

オーディオ伴奏ファイルの現在の再生位置をミリ秒単位で返します。

SetAudioAccompanyPosition

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

virtual int SetAudioAccompanyPosition(int pos) = 0;

レスポンスの説明

  • 0:成功。

  • 0 以外の値:失敗。エラーコードが返されます。

PreloadAudioEffect

効果音ファイルをプリロードします。

virtual int PreloadAudioEffect(unsigned int soundId,
                                       const char *filePath) = 0;

パラメーター

名前

タイプ

説明

soundId

unsigned int

ユーザーが効果音ファイルに割り当てた ID。

filePath

const char *

効果音ファイルのパス。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

UnloadAudioEffect

プリロードされた効果音ファイルを削除します。

virtual int UnloadAudioEffect(unsigned int soundId) = 0;

パラメーター

名前

タイプ

説明

soundId

NSInteger

ユーザーが効果音ファイルに割り当てた ID。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

PlayAudioEffect

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

virtual int PlayAudioEffect(unsigned int soundId, const char *filePath, const AliEngineAudioEffectConfig& config) = 0;

パラメーター

名前

タイプ

説明

soundId

unsigned int

ユーザーが効果音ファイルに割り当てた ID。

filePath

const char *

効果音ファイルのパス。

config

AliEngineAudioEffectConfig

効果音の構成。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

StopAudioEffect

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

virtual int StopAudioEffect(unsigned int soundId) = 0;

パラメーター

名前

タイプ

説明

soundId

unsigned int

ユーザーが効果音ファイルに割り当てた ID。

戻り値

0: メソッドの呼び出しは成功。その他の値: メソッドの呼び出しは失敗。

StopAllAudioEffects

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

- (int)StopAllAudioEffects;

戻り値

0:メソッドの呼び出しは成功です。その他の値:メソッドの呼び出しは失敗です。

PauseAudioEffect

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

virtual int PauseAudioEffect(unsigned int soundId) = 0;

パラメーター

名前

タイプ

説明

soundId

unsigned int

ユーザーが効果音ファイルに割り当てた ID。

レスポンスの説明

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

PauseAllAudioEffects

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

virtual int PauseAllAudioEffects() = 0;

レスポンスの説明

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

ResumeAudioEffect

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

virtual int ResumeAudioEffect(unsigned int soundId) = 0;

パラメーター

名前

タイプ

説明

soundId

unsigned int

ユーザーが効果音ファイルに割り当てた ID。

レスポンスの説明

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

ResumeAllAudioEffects

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

virtual int ResumeAllAudioEffects() = 0;

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SetAudioEffectPublishVolume

効果音のパブリッシュ音量を設定します。

virtual int SetAudioEffectPublishVolume(unsigned int soundId, int volume) = 0;

パラメーター

名前

タイプ

説明

soundId

unsigned int

ユーザーが効果音ファイルに割り当てた ID。

volume

int

ミキシング音量。範囲は [0,100] です。デフォルト値は 50 です。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

GetAudioEffectPublishVolume

効果音のパブリッシュ音量を取得します。

virtual int GetAudioEffectPublishVolume(unsigned int soundId) = 0;

パラメーター

名前

タイプ

説明

soundId

unsigned int

ユーザーが効果音ファイルに割り当てた ID。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SetAllAudioEffectsPublishVolume

すべての効果音のローカル再生音量を設定します。

virtual int SetAllAudioEffectsPublishVolume(int volume) = 0;

パラメーター

名前

タイプ

説明

volume

int

ミキシング音量。範囲は [0,100] です。デフォルト値は 50 です。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SetAudioEffectPlayoutVolume

効果音のローカル再生音量を設定します。

virtual int SetAudioEffectPlayoutVolume(unsigned int soundId, int volume) = 0;

パラメーター

名前

タイプ

説明

soundId

unsigned int

ユーザーが効果音ファイルに割り当てた ID。

volume

int

ミキシング音量。範囲は [0,100] です。デフォルト値は 50 です。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

GetAudioEffectPlayoutVolume

効果音のローカル再生音量を取得します。

virtual int GetAudioEffectPlayoutVolume(unsigned int soundId) = 0;

パラメーター

名前

タイプ

説明

soundId

unsigned int

ユーザーが効果音ファイルに割り当てた ID。

レスポンスの説明

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SetAllAudioEffectsPlayoutVolume

すべての効果音の再生音量を設定します。

virtual int SetAllAudioEffectsPlayoutVolume(int volume) = 0;

パラメーター

名前

タイプ

説明

volume

int

ミキシング音量。範囲は [0,100] です。デフォルト値は 50 です。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SetAllAudioEffectsPublishVolume

すべての効果音のパブリッシュ音量を設定します。

virtual int SetAllAudioEffectsPublishVolume(int volume) = 0;

パラメーター

名前

タイプ

説明

volume

int

ミキシング音量。範囲は [0,100] です。デフォルト値は 50 です。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SetLocalViewConfig

ローカルプレビューのレンダリングウィンドウと描画パラメーターを設定します。

virtual int SetLocalViewConfig(AliEngineVideoCanvas renderConfig,
                                         AliEngineVideoTrack track) = 0;

このメソッドは、ローカルプレビュービューを設定します。ローカルビデオストリームの表示ビューをバインドし、ローカルユーザーのビューのレンダリングモード、ミラーモード、回転角度を設定します。これはローカルユーザーのプレビューにのみ影響し、パブリッシュされたビデオには影響しません。リモートユーザーのビューを設定するには、SetRemoteViewConfig を呼び出します。

説明
  • AliEngineVideoCanvas の view パラメーターが空の場合、レンダリングは停止します。

  • 再生中に AliEngineVideoCanvas の renderMode パラメーターをリセットするには、他のパラメーターを変更せずに renderMode のみを変更します。

  • 再生中に AliEngineVideoCanvas の mirrorMode パラメーターをリセットするには、他のパラメーターを変更せずに mirrorMode のみを変更します。

  • ローカルプレビューを開始するには、明示的に StartPreview() を呼び出すことを推奨します。

呼び出すタイミング

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

パラメーター

名前

タイプ

説明

renderConfig

AliEngineVideoCanvas

レンダリングウィンドウやレンダリング方法などのレンダリングパラメーター。

track

AliEngineVideoTrack

ビデオトラックのタイプ。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SetCameraCapturerConfiguration

カメラ収集のプリファレンスを設定します。

virtual int SetCameraCapturerConfiguration(const AliEngineCameraCapturerConfiguration& config) = 0;

このメソッドは、カメラの向きや収集フレームレートなどのカメラ収集プリファレンスを構成します。

呼び出すタイミング

これはカメラを開く前に設定する必要があります。たとえば、次の操作の前に呼び出します:

  • StartPreview (プレビューを開始)

  • JoinChannel (チャンネルに参加)

パラメーター

名前

タイプ

説明

config

AliEngineCameraCapturerConfiguration

カメラの向きとフレームレートを含むカメラ収集プリファレンス。デフォルト値:

  • preference:

    • AliEngineCaptureOutputPreferenceAuto:SDK が収集パラメーターを自動的に調整します。

    • AliEngineCaptureOutputPreferencePerformance:高解像度プレビュー。収集はビデオプレビューの品質を優先します。

    • AliEngineCaptureOutputPreferencePerformance:収集はパブリッシュ解像度に最も近い解像度を選択し、デバイスのパフォーマンスを優先します。

  • fps:-1 は、エンコーダーの内部フレームレート設定を使用することを示します。デフォルトは 15 です。

  • cameraCaptureProfile:0、ビデオ収集の特定の解像度を指定します。

  • disableVideoCaptureReverse:アスペクト比に基づいて収集されたビデオフレームを反転しません。-1:デフォルト、0:無効、1:有効。

  • captureObserverOriginal:元の videoframe データをコールバックするかどうか。-1:デフォルト、0:オフ、1:オン。

上記の -1 の値は、SDK の内部デフォルト設定を使用することを示します。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

EnableLocalVideo

ローカルビデオ収集を無効または再度有効にします。

virtual int EnableLocalVideo(bool enabled) = 0;

このメソッドは、ローカルビデオ収集の有効化と無効化を制御します。ローカルビデオ収集が無効になっている場合、ローカルプレビューとパブリッシュされたストリームの両方にビデオデータはありませんが、これはリモートビデオの受信には影響しません。このメソッドを呼び出してローカルカメラ収集を無効にすると、ローカルプレビューとリモートパブリッシュされたストリームの両方が最後のフレームで停止します。

説明

ローカルビデオ収集は SDK でデフォルトで有効になっています。

呼び出すタイミング

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

関連するコールバック

このメソッドの呼び出しが成功した後、OnUserVideoEnabled コールバックがリモートユーザーに通知します。

パラメーター

名前

タイプ

説明

enable

bool

true:通常の操作を再開します。false:ビデオ収集を停止します。デフォルトは true です。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

MuteLocalCamera

ローカルビデオデータの送信を停止または再開します。

virtual int MuteLocalCamera(bool mute, AliEngineVideoTrack track) = 0;

ストリームをパブリッシュするときに、このメソッドを呼び出してオールブラックのビデオフレームをパブリッシュできます。ローカルプレビューは正常に表示され、収集、エンコーディング、送信モジュールは引き続き動作しますが、ビデオコンテンツはブラックフレームで構成されます。

説明

このメソッドは、指定されたビデオストリームでブラックフレームを送信するかどうかのみを制御します。収集とデータ送信は停止しません。収集を無効にするには、EnableLocalVideo メソッドを使用します。ビデオデータの送信を停止するには、PublishLocalVideoStream メソッドを使用します。

パラメーター

名前

タイプ

説明

mute

bool

true:ビデオデータのブラックフレームを送信します。false:通常の操作を再開します。デフォルト値は false です。

track

AliEngineVideoTrack

パブリッシュ状態を変更する必要があるビデオトラックのタイプ。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

SetRemoteViewConfig

リモートビデオのレンダリングウィンドウと描画パラメーターを設定します。

virtual int SetRemoteViewConfig(AliEngineVideoCanvas renderConfig,
                                          const char *uid,
                                          AliEngineVideoTrack track) = 0;

このメソッドは、リモートユーザーからの指定されたビデオストリームの表示ビューをアタッチし、レンダリングモード、ミラーモード、回転角度など、リモートビューのローカル表示のプロパティを設定します。このアクションは、ローカルユーザーが見るビデオ画像にのみ影響します。ローカルプレビュービューを設定するには、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#fbc8ab10f5e03" id="c0f59b8c26y7o">SetLocalViewConfig</a> を呼び出します。

  • AliEngineVideoCanvas の view パラメーターが空の場合、レンダリングは停止します。

  • 再生中に AliEngineVideoCanvas の renderMode パラメーターをリセットするには、他のパラメーターを変更せずに renderMode のみを変更します。

  • 再生中に AliEngineVideoCanvas の mirrorMode パラメーターをリセットするには、他のパラメーターを変更せずに mirrorMode のみを変更します。

呼び出すタイミング

リモートユーザーのビデオが利用可能になったとき、つまり OnRemoteTrackAvailableNotify コールバックを受信したときにこれを呼び出すことを推奨します。

パラメーター

名前

タイプ

説明

canvas

AliEngineVideoCanvas

レンダリングウィンドウやレンダリング方法などのレンダリングパラメーター。

uid

const char *

ユーザー ID。

track

AliEngineVideoTrack

設定するビデオトラックのタイプ。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

IsCameraOn

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

virtual bool IsCameraOn() = 0;

戻り値

true:カメラはオンです。false:カメラはオンではありません。

SetVideoEncoderConfiguration

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

virtual void SetVideoEncoderConfiguration(const AliEngineVideoEncoderConfiguration& config) = 0;

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

説明

すべての設定パラメーターには対応する範囲制限があります。設定されたパラメーターが有効範囲外の場合、SDK は自動的に調整します。

呼び出すタイミング

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

制限事項

このメソッドの `mirrorMode` と setVideoMirrorMode は両方ともビデオパブリッシュミラーを設定できます。どちらか一方のみを使用することを推奨します。複数のメソッドを同時に使用すると、ミラー効果が重なり、ミラー設定が失敗したり、正しくなくなったりする可能性があります。

パラメーター

名前

タイプ

説明

config

AliEngineVideoEncoderConfiguration

定義済みのエンコーディングプロパティ。デフォルト値:

  • dimensions:[640,480]

  • frameRate:15

  • bitrate:0

  • keyFrameInterval:キーフレーム間隔 (ミリ秒)。デフォルトは 0 で、SDK によって制御されることを意味します。

  • forceStrictKeyFrameInterval:エンコーダーに設定されたキーフレーム間隔に厳密に従ってキーフレームを生成させるかどうか。デフォルト値は false です。

  • mirrorMode:パブリッシュミラー。デフォルトは AliEngineVideoMirrorModeDisabled です。詳細をご参照ください。

  • orientationMode:0

  • rotation:0

SetVideoDecoderConfiguration

ビデオデコーディングプロパティを設定します。このメソッドは、ソフトウェアおよびハードウェアデコーディング設定や B フレームを有効にするかどうかなど、カメラストリームのビデオデコーディングプロパティを設定します。

virtual void SetVideoDecoderConfiguration(const AliEngineVideoDecoderConfiguration& config) = 0;

呼び出すタイミング

チャンネルに参加してストリームをプルする前にこれを呼び出すことを推奨します。

パラメーター

パラメーター

タイプ

説明

config

AliEngineVideoDecoderConfiguration

ビデオデコーディングプロパティ、主なプロパティ、およびデフォルト値を記述する構造体。

StartPreview

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

virtual int StartPreview(int width = 0, int height = 0) = 0;

このメソッドはローカルビデオプレビューを開始し、自動的にカメラをオンにします。ローカルプレビューを停止するには、StopPreview メソッドを呼び出します。

説明

LeaveChannel を使用してチャンネルを退出すると、ローカルプレビューが自動的に停止します。カメラストリームがパブリッシュされていない場合、カメラは自動的にオフになります。

呼び出すタイミング

  • このメソッドを呼び出す前に、SetLocalViewConfig を通じてローカルプレビューのビューを設定する必要があります。そうしないと、ビデオをプレビューできませんが、パブリッシュには影響しません。

  • 必要に応じて、JoinChannel でチャンネルに参加する前にこのメソッドを呼び出してプレビューを開始し、カメラを自動的にオンにすることができます。

レスポンスの説明

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

StopPreview

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

virtual int StopPreview() = 0;

このメソッドはローカルビデオプレビューを閉じ、カメラをオフにします。プレビューを停止した後、ローカルエンドは最後のフレームで停止しますが、パブリッシュには影響しません。

説明

LeaveChannel を使用してチャンネルを退出すると、ローカルプレビューが自動的に停止します。カメラストリームがパブリッシュされていない場合、カメラは自動的にオフになります。

呼び出すタイミング

プレビューを開始した後に停止するには、このメソッドを呼び出すことができます。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

setVideoMirrorMode

プレビューとパブリッシュのミラー機能を設定します。

virtual int setVideoMirrorMode(AliEngineVideoPipelineMirrorMode mirrorMode) = 0;

このメソッドは、ローカルプレビュービデオとパブリッシュされたビデオストリームにミラーモードを有効にするかどうかを設定します。

説明

このメソッドは SetLocalViewConfigSetVideoEncoderConfiguration よりも優先度が高いです。ビデオミラーモードを設定するには、このメソッドを呼び出すことを推奨します。

呼び出すタイミング

このメソッドは、チャンネルに参加する前後で動的に設定できます。SDK は状態を記録し、プレビューとエンコーディング (パブリッシュ) が操作可能になったときにビデオを操作します。

制限事項

このメソッドは、SetLocalViewConfigSetVideoEncoderConfiguration の mirrorMode パラメーターと重複します。このメソッドのみを使用することを推奨します。

パラメーター

名前

タイプ

説明

mirrorMode

AliEngineVideoPipelineMirrorMode

ミラーモードを設定します。

戻り値

  • 0:設定は成功しました。

  • <0:設定は失敗しました。

    • AliRtcErrInner:内部 SDK 状態エラー。SDK インスタンスが正常に作成されたかどうかを確認してください。

SetCapturePipelineScaleMode

収集スケーリングのタイミングを設定します。ビデオデータは、収集直後またはエンコーディング中にスケーリングされます。

virtual void SetCapturePipelineScaleMode(const AliEngineCapturePipelineScaleMode mode) = 0;

このメソッドは、ビデオデータ収集のスケーリングが収集直後に行われるか、エンコーディング中に行われるかを設定します。たとえば、収集解像度がエンコーディング解像度と一致しない場合、スケーリングのタイミングを設定して、プレビューデータとパブリッシュされたデータが一致するかどうかを決定できます。

呼び出すタイミング

このメソッドは、カメラを開く前に設定する必要があります。たとえば、StartPreview でプレビューを開始する前、または JoinChannel でチャンネルに参加する前です。

パラメーター

名前

タイプ

説明

mode

AliEngineCapturePipelineScaleMode

収集スケーリングのタイミングを制御するモード。デフォルトは、収集直後にスケーリングします。

GetCameraList

カメラリストを取得します。

virtual AliEngineDeviceInfoList* GetCameraList() = 0;

戻り値

カメラリストオブジェクトへのポインター、AliEngineDeviceInfoList*。

GetCurrentCameraName

現在使用中のカメラの名前を取得します。

virtual String GetCurrentCameraName() = 0;

戻り値

現在使用中のカメラデバイスの名前。

GetCurrentCameraID

現在使用中のカメラの ID を取得します。

virtual String GetCurrentCameraID() = 0;

戻り値

現在使用中のカメラの ID。

SetCurrentCameraName

名前でカメラを選択します。

virtual int SetCurrentCameraName(const char* cameraName) = 0;

パラメーター

名前

タイプ

説明

cameraName

const char *

デバイス名。

戻り値

成功の場合は 0、失敗の場合はその他の値。

SetCurrentCameraID

ID でカメラを選択します。

virtual int SetCurrentCameraID(const char* cameraID) = 0;

パラメーター

名前

タイプ

説明

cameraID

const char *

デバイス ID。

戻り値

成功の場合は 0、失敗の場合はその他の値。

GetCurrentCameraSupportedResolutionList

サポートされている解像度を取得します。

virtual AliEngineVideoResolutionList * GetCurrentCameraSupportedResolutionList(int source) = 0 ;

パラメーター

名前

タイプ

説明

source

int

デバイスタイプ。

戻り値

値が NULL でない場合、サポートされている解像度のリストを取得します。NULL は失敗を示します。

SetExternalVideoSource

外部ビデオ入力ソースを有効にします。

virtual int SetExternalVideoSource(bool enable,
        AliEngineVideoTrack type,
        AliEngineRenderMode renderMode) = 0;

パラメーター

名前

タイプ

説明

enable

bool

true:有効にします。false:無効にします。

type

AliEngineVideoTrack

ストリームタイプ。

renderMode

AliEngineRenderMode

レンダリングモード。

PushExternalVideoFrame

ビデオデータを入力します。

virtual int PushExternalVideoFrame(const AliEngineVideoRawData &frame,
        AliEngineVideoTrack type) = 0;

パラメーター

名前

タイプ

説明

frame

AliEngineVideoRawData

フレームデータ。

type

AliEngineVideoTrack

ストリームタイプ。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

StartPublishLiveStream

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

virtual int StartPublishLiveStream(const String& streamURL, const AliEngineLiveTranscodingParam &transcoding) = 0;

パラメーター

名前

タイプ

説明

streamUrl

const String

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

transcoding

AliEngineLiveTranscodingParam

アップストリーミングに必要なパラメーター。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

UpdatePublishLiveStream

更新はライブストリームパラメーターをバイパスします。

virtual int UpdatePublishLiveStream(const String& streamURL, const AliEngineLiveTranscodingParam &transcoding) = 0;

パラメーター

名前

タイプ

説明

streamUrl

const String

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

transcoding

AliEngineLiveTranscodingParam

アップストリーミングに必要なパラメーター。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

StopPublishLiveStream

バイパスライブストリームを停止します。

virtual int StopPublishLiveStream(const String& streamURL) = 0;

パラメーター

名前

タイプ

説明

streamURL

const String

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

レスポンスの説明

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

GetPublishLiveStreamState

バイパスライブストリームのステータスを取得します。

virtual AliEngineLiveTranscodingState GetPublishLiveStreamState(const String& streamURL) = 0;

パラメーター

パラメーター

タイプ

説明

streamURL

const String

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

レスポンスの説明

バイパスライブストリーミングのステータスを返します。

StartLastmileDetect

ネットワーク品質検出を開始します。一部のオンプレミスネットワークの問題により、音声およびビデオ通話が失敗する可能性があります。このメソッドを呼び出すことで、上りおよび下りネットワーク帯域幅、パケット損失率、ジッター、リンク RTT などの情報を取得して、関連するネットワーク問題の特定と解決に役立てることができます。

 virtual int StartLastmileDetect(bool uplink, bool downlink, int uplinkBandWidth, int downlinkBandWidth) = 0;

呼び出すタイミング

このメソッドは JoinChannel の前に呼び出す必要があります。検出結果はコールバックを通じて提供されます。ネットワーク検出には時間がかかる場合があります。必要に応じて StopLastmileDetect を呼び出してネットワーク検出を停止できます。

制限事項

SDK は一度に 1 つのネットワーク検出しか実行できません。前回の検出が完了する前に繰り返し呼び出しても無効です。

関連するコールバック

このメソッドの呼び出しが成功すると、2 つのコールバックがトリガーされます:

パラメーター

パラメーター

タイプ

説明

uplink

bool

アップリンクを検出するかどうか。

downlink

bool

ダウンリンクを検出するかどうか。

uplinkBandWidth

int

アップリンク検出の最大帯域幅。

downlinkBandWidth

int

ダウンリンク検出の最大帯域幅。

戻り値

  • 0:メソッドの呼び出しは成功しました。

  • <0:メソッドの呼び出しは失敗しました。たとえば、すでにチャンネルに参加している場合に発生する可能性があります。

StopLastmileDetect

ネットワーク品質検出を停止します。このメソッドを呼び出してネットワーク品質検出を停止します。

virtual int StopLastmileDetect() = 0;

呼び出すタイミング

エンジンを作成した後、チャンネルに参加する前にこのメソッドを呼び出すことができます。

戻り値

  • 0:このメソッドは正常に呼び出されました。

  • <0:このメソッドの呼び出しは失敗しました。

SendMediaExtensionMsg

メディア拡張情報を送信します。これは内部的に SEI を使用して実装されます。

virtual int SendMediaExtensionMsg(const int8_t * message, uint32_t length, int32_t repeatCount, uint32_t delay, bool isKeyFrame) = 0;

SDK は、メディア拡張情報の送受信機能を提供します。受信側は AliEngineEventListener::OnMediaExtensionMsgReceived を参照します。メディア拡張情報を使用する場合、音声およびビデオデータチャンネルを再利用する必要があるため、カスタムメッセージの送信頻度とデータ長を制御する必要があります。使用制限は次のとおりです:

  • プロファイルで設定された fps メッセージを 1 秒あたり最大で送信します。

  • メディアデータの伝送品質に影響を与えないように、カスタムメッセージ本文の長さは 4 KB に制限されており、少量のデータを送信するために使用できます。

  • sendMediaExtensionMsg 関数の repeatCount パラメーターは、カスタムメッセージの冗長性です。1 より大きい場合、ネットワークのパケット損失によるメッセージ損失を防ぐために複数回送信されます。この場合、ルーム内の他の人も同じメッセージを複数回受信するため、重複を削除する必要があります。

  • カスタムメッセージが送信されると、ルーム内のサブスクライバーもバイパスライブストリーミング中にそれを受信します。-1 に設定すると、sendMediaExtensionMsg が再度呼び出されない限り、データが永続的に送信されることを意味します。

  • 一度に 1 つの sendMediaExtensionMsg のみが送信されます。つまり、sendMediaExtensionMsg を呼び出すと、前の呼び出しが送信されていないか完了していない場合、前の呼び出しが上書きされます。

パラメーター

名前

タイプ

説明

message

const int8_t *

拡張情報の内容。最大長は 4 KB です。

length

uint32_t

拡張情報の長さ。最大長は 4 KB (4 × 1024 バイト) です。

repeatCount

int32_t

繰り返しの回数。メッセージの冗長性を表し、ネットワークのパケット損失によるメッセージ損失を防ぐために使用されます。-1 は、SendMediaExtensionMsg が再度呼び出されない限り、無限に再送信することを意味します。

delay

uint32_t

SEI を送信する前の遅延 (ミリ秒単位)。SEI はエンコードされた h264/h265 ストリームにアタッチされるため、実際の遅延は設定された遅延よりもわずかに長くなります。

isKeyFrame

bool

SEI をキーフレームにのみ追加するかどうか。true に設定すると、SEI 情報はキーフレームにのみ追加されます。

戻り値

  • 0:成功。

  • <0:失敗。エラーコードが返されます。

    • ERR_INNER(-1):内部 SDK エラー。SDK が初期化されていないか、破棄された後に呼び出された場合に発生する可能性があります。

SendMediaExtensionMsgEx

メディア拡張情報を送信します。これは内部的に SEI を使用して実装されます。

virtual int SendMediaExtensionMsgEx(const int8_t * message, uint32_t length, int32_t repeatCount, uint32_t delay, bool isKeyFrame, int32_t payloadType) = 0;

SDK は、メディア拡張情報の送受信機能を提供します。受信側は AliEngineEventListener::OnMediaExtensionMsgReceived を参照します。メディア拡張情報を使用する場合、音声およびビデオデータチャンネルを再利用する必要があるため、カスタムメッセージの送信頻度とデータ長を制御する必要があります。使用制限は次のとおりです:

  • プロファイルで設定された fps メッセージを 1 秒あたり最大で送信します。

  • メディアデータの伝送品質に影響を与えないように、カスタムメッセージ本文の長さは 4 KB に制限されており、少量のデータを送信するために使用できます。

  • sendMediaExtensionMsg 関数の repeatCount パラメーターは、カスタムメッセージの冗長性です。1 より大きい場合、ネットワークのパケット損失によるメッセージ損失を防ぐために複数回送信されます。この場合、ルーム内の他の人も同じメッセージを複数回受信するため、重複を削除する必要があります。

  • カスタムメッセージが送信されると、ルーム内のサブスクライバーもバイパスライブストリーミング中にそれを受信します。-1 に設定すると、sendMediaExtensionMsg が再度呼び出されない限り、データが永続的に送信されることを意味します。

  • 一度に 1 つの sendMediaExtensionMsg のみが送信されます。つまり、sendMediaExtensionMsg を呼び出すと、前の呼び出しが送信されていないか完了していない場合、前の呼び出しが上書きされます。

パラメーター

名前

タイプ

説明

message

const int8_t *

拡張情報の内容。最大長は 4 KB です。

length

uint32_t

拡張情報の長さ。最大長は 4 KB (4 × 1024 バイト) です。

repeatCount

int32_t

繰り返しの回数。メッセージの冗長性を表し、ネットワークのパケット損失によるメッセージ損失を防ぐために使用されます。-1 は、SendMediaExtensionMsg が再度呼び出されない限り、無限に再送信することを意味します。

delay

uint32_t

SEI を送信する前の遅延 (ミリ秒単位)。SEI はエンコードされた h264/h265 ストリームにアタッチされるため、実際の遅延は設定された遅延よりもわずかに長くなります。

isKeyFrame

bool

SEI をキーフレームにのみ追加するかどうか。true に設定すると、SEI 情報はキーフレームにのみ追加されます。

payloadType

int32_t

データ型フィールド。payload=5 payload=[100..254]。

戻り値

  • 0:成功。

  • <0:失敗。エラーコードが返されます。

    • ERR_INNER(-1):内部 SDK エラー。SDK が初期化されていないか、破棄された後に呼び出された場合に発生する可能性があります。

OnConnectionStatusChange

ネットワーク接続ステータスの変更に関するコールバック。

virtual void OnConnectionStatusChange(int status, int reason) {};

パラメーター

パラメーター

タイプ

説明

status

AliEngineConnectionStatus

現在のステータス値。

reason

AliEngineConnectionStatusChangeReason

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

OnLocalDeviceException

オンプレミスデバイスの例外に関するコールバック。お客様はこのコールバックに注意を払う必要があります。

virtual void OnLocalDeviceException(AliEngineLocalDeviceType deviceType, AliEngineLocalDeviceExceptionType exceptionType, const char* msg){};

パラメーター

パラメーター

タイプ

説明

deviceType

AliEngineLocalDeviceType

デバイスタイプ。

exceptionType

AliEngineLocalDeviceExceptionType

デバイス例外タイプ。

msg

const char*

例外に伴う情報。

OnAuthInfoWillExpire

ユーザー認証情報がまもなく期限切れになるという通知。この通知を受信してから 30 秒後に認証が期限切れになります。お客様はこのコールバックに注意を払う必要があります。

virtual void OnAuthInfoWillExpire() {};

このコールバックは、ユーザーの認証情報がまもなく期限切れになることを示します。このコールバックを受信してから 30 秒後に認証が期限切れになります。新しいトークンを取得し、次のいずれかの方法で認証情報を更新する必要があります:

  • RefreshAuthInfo メソッドを呼び出して認証情報を更新します。

  • LeaveChannel を呼び出して現在のチャンネルから退出した後、JoinChannel を呼び出してチャンネルに再参加します。

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

SDK は、ユーザーの認証情報が期限切れになる 30 秒前にこのコールバックをトリガーします。このコールバックを受信したら、速やかに認証情報を更新する必要があります。

OnAuthInfoExpired

ユーザーが認証を必要とするインターフェイスを呼び出し、サーバーが情報が期限切れであると返します。

virtual void OnAuthInfoExpired() {};

このコールバックは、ユーザーの認証情報が期限切れになったことを示します。セッションを継続したい場合は、サーバーで新しいトークンを生成し、次の方法で認証情報を更新する必要があります:

  • LeaveChannel を呼び出して現在のチャンネルから退出した後、JoinChannel を呼び出してチャンネルに再参加します。

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

このコールバックは、ユーザーの認証情報が期限切れになったときにトリガーされます。

OnJoinChannelResult

チャンネルへの参加結果のコールバック。このコールバックは、JoinChannel メソッドを呼び出すブロック操作と同等で、チャンネルに参加した後のイベントを処理します。どちらか一方を選択してください。

virtual void OnJoinChannelResult(int result, const char *channel, const char *userId, int elapsed) {}

トリガー条件

アプリケーションが JoinChannel メソッドを呼び出すと、このコールバックはチャンネルに正常に参加できたかどうかを示し、チャンネル参加に関する情報と参加にかかった時間を返します。

パラメーター

パラメーター

タイプ

説明

result

int

チャンネルへの参加結果。成功の場合は 0 が返されます。失敗の場合はエラーコードが返されます。詳細については、「エラーコードリスト」をご参照ください。一般的なエラーコードは次のとおりです:

  • ERR_JOIN_BAD_APPID:AppId が存在しません。

  • ERR_JOIN_INVALID_APPID:AppId の有効期限が切れています。

  • ERR_JOIN_BAD_CHANNEL:チャンネルが存在しません。

  • ERR_JOIN_INVALID_CHANNEL:チャンネルの有効期限が切れています。

  • ERR_JOIN_BAD_TOKEN:トークンが存在しません。

  • ERR_JOIN_TIMEOUT:チャンネルへの参加がタイムアウトしました。

  • ERR_JOIN_BAD_PARAM:チャンネルへの参加パラメーターが正しくありません。

  • ERR_JOIN_FAILED:チャンネルへの参加に失敗しました。

  • ERR_JOIN_CONFIG_INVALID:参加パラメーターが無効です (空のトークンなど)。

channel

const char *

参加したチャンネルの ID。

userId

const char *

参加したユーザーの ID。

elapsed

int

チャンネルへの参加にかかった時間。

OnLeaveChannelResult

チャンネルからの退出結果のコールバック。LeaveChannel メソッドを呼び出した後に返されます。この直後に Destroy を呼び出すと、このコールバックは受信されません。

virtual void OnLeaveChannelResult(int result, AliEngineStats stats) {}

トリガー条件

アプリケーションが LeaveChannel を正常に呼び出してチャンネルを退出すると、このコールバックがトリガーされ、退出の結果とこのチャンネルセッションの統計が返されます。

説明

LeaveChannel の直後に Destroy を呼び出してエンジンを破棄すると、このコールバックはトリガーされません。

パラメーター

パラメーター

タイプ

説明

result

int

チャンネルからの退出結果。成功の場合は 0 が返され、失敗の場合はエラーコードが返されます。

stats

AliEngineStats

このチャンネルセッションのデータ統計の概要。

OnRemoteUserOffLineNotify

リモートユーザーがオフラインになったときのコールバック。

virtual void OnRemoteUserOffLineNotify(const char *uid, AliEngineUserOfflineReason reason) {}

このコールバックは、リモートユーザーがさまざまな理由でチャンネルを退出したことをローカルユーザーに通知します。リモートユーザーがオフラインになると、このメソッドがトリガーされます。

トリガー条件

  • リモートユーザーが積極的にチャンネルを退出したときにコールバックがトリガーされます。

  • リモートストリーマーが <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#c99c2b257dd8o" id="03e45f655fcxx">SetClientRole</a> を呼び出してロールを視聴者 (AliEngineClientRoleLive に設定) に切り替えたときにコールバックがトリガーされます。

  • リモートストリーマーから長時間データが受信されず、ドロップしたと見なされたときにコールバックがトリガーされます。

パラメーター

パラメーター

タイプ

説明

uid

const char *

App サーバーからユーザー ID に割り当てられた一意の識別子。

reason

AliEngineUserOfflineReason

ユーザーがオフラインになった理由。

OnRemoteUserOnLineNotify

リモートユーザーがオンラインになったときのコールバック。

virtual void OnRemoteUserOnLineNotify(const char *uid, int elapsed) {}

このメソッドは、リモートユーザーがチャンネルに参加したことをローカルクライアントに通知します。

トリガー条件

  • リモートユーザーが正常にチャンネルに参加しました。

  • 現在のユーザーがチャンネルに参加した後、すでにチャンネルにいるユーザーの参加コールバックを受信します。これは、以前に参加したユーザーを表示するために使用されます。

パラメーター

パラメーター

タイプ

説明

uid

const char *

App サーバーからユーザー ID に割り当てられた一意の識別子。

elapsed

int

ユーザーがチャンネルに参加するのにかかった時間。

OnRemoteTrackAvailableNotify

リモートユーザーのストリームが変更されたときのコールバック。

virtual void OnRemoteTrackAvailableNotify(const char *uid,
                                                  AliEngineAudioTrack audioTrack,
                                                  AliEngineVideoTrack videoTrack) {}

このコールバックは、リモートユーザーのパブリッシュ状態が変更されたときにトリガーされます。このコールバックを通じて、リモートユーザーが音声およびビデオストリームをパブリッシュしているかどうかをリアルタイムで知ることができます。その後、UI 上でリモートユーザーの音声およびビデオ情報を表示または非表示にすることができます。

トリガー条件

このコールバックは、次のシナリオでトリガーされます:

  • リモートユーザーがパブリッシュしていない状態からパブリッシュする状態に変わったとき (音声とビデオを含む)。

  • リモートユーザーがパブリッシュしている状態からパブリッシュしていない状態に変わったとき (音声とビデオを含む)。

  • インタラクティブストリームモードで、リモートユーザーが SetClientRole を呼び出して視聴者からストリーマーに切り替え、パブリッシュも設定した場合、このコールバックがトリガーされます。

ビデオを例にとると、リモートユーザーがパブリッシュしないように設定されているとします。その場合、このコールバックはトリガーされません。

  • リモートユーザーがカメラストリームのパブリッシュを開始すると (パブリッシュ状態:ビデオストリームなし -> カメラストリームのみ)、ローカルコールバックは AliEngineVideoTrackCamera を返し、リモートユーザーのカメラストリームが利用可能であることを示します。

  • リモートユーザーが画面共有ストリームもパブリッシュすると (パブリッシュ状態:カメラストリームのみ -> カメラストリームと画面共有ストリーム)、ローカルコールバックは AliEngineVideoTrackBoth を返し、リモートユーザーのカメラストリームと画面共有ストリームの両方が利用可能であることを示します。

  • リモートユーザーがカメラストリームのパブリッシュを停止し、画面共有ストリームのみを維持すると (パブリッシュ状態:カメラストリームと画面共有ストリーム -> 画面共有ストリームのみ)、ローカルコールバックは AliEngineVideoTrackScreen を返し、現在画面共有ストリームのみが利用可能であることを示します。

  • リモートユーザーが画面共有ストリームのパブリッシュを停止すると (パブリッシュ状態:画面共有ストリームのみ -> ビデオストリームなし)、ローカルコールバックは AliEngineVideoTrackNo を返し、現在ビデオストリームが利用できないことを示します。

説明

このコールバックはリモートユーザーのパブリッシュステータスを返します。この変更でどのストリームがオフラインになったかを知るには、コールバックの前後の状態変更を記録する必要があります。

パラメーター

パラメーター

タイプ

説明

uid

const char *

App サーバーからユーザー ID に割り当てられた一意の識別子。

audioTrack

AliEngineAudioTrack

変更後のリモートユーザーのオーディオストリーム。

videoTrack

AliEngineVideoTrack

変更後のリモートユーザーのビデオストリーム。

OnBye

ユーザーがサーバーによってキックアウトされたり、チャンネルが閉じられたりした場合のコールバック。

virtual void OnBye(int code) {}

ユーザーが何らかの理由で切断されたり、チャンネルが閉じられたりすると、このコールバックがトリガーされます。コールバックパラメーター code を使用して切断の理由を特定し、それに応じて処理できます。

トリガー条件

  • 現在のユーザーがサーバーによってキックアウトされました。

  • チャンネルが閉じられました (サーバーが積極的にチャンネルを削除しました)。

  • 受動的な退出。クライアントがセッションを復元または再接続しようとする必要があります。

パラメーター

パラメーター

タイプ

説明

code

int

メッセージタイプ。値:

  • 1:サーバーによってキックアウトされました。

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

  • 3:同じユーザー ID が別のデバイスでログインし、サーバーによってキックアウトされました。

OnAudioPublishStateChanged

オーディオパブリッシュの変更に関するコールバック。

virtual void OnAudioPublishStateChanged(AliEnginePublishState oldState, AliEnginePublishState newState, int elapseSinceLastState, const char *channel) {};

このコールバックは、ローカルユーザーのオーディオストリームのパブリッシュ状態の変更をリッスンします。

トリガー条件

ユーザーのオーディオパブリッシュ状態が変更されたとき、たとえば:

  • パブリッシュを停止します。

  • <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#c99c2b257dd8o" id="904fc4e83a35n">SetClientRole</a> を呼び出して視聴者に切り替えます。

パラメーター

パラメーター

タイプ

説明

oldState

AliEnginePublishState

以前のパブリッシュ状態。

newStat

AliEnginePublishState

現在のパブリッシュ状態。

elapseSinceLastState

int

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

channel

const char *

現在のチャンネル ID。

OnAudioSubscribeStateChanged

オーディオサブスクリプションの変更に関するコールバック。

virtual void OnAudioSubscribeStateChanged(const char *uid,
                                                  AliEngineSubscribeState oldState, 
                                                  AliEngineSubscribeState newState,
                                                  int elapseSinceLastState,
                                                  const char *channel) {};

このコールバックは、リモートユーザーのオーディオストリームのサブスクリプション状態の変更をローカルユーザーに通知します。このコールバックを通じて、リモートユーザーのカメラストリームのサブスクリプション状態の変更と、前の状態から現在の状態までの時間間隔を知ることができます。

パラメーター

パラメーター

タイプ

説明

uid

NSString *_Nonnull

サブスクリプションが変更されたユーザー ID。

oldState

AliEngineSubscribeState

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

newState

AliEngineSubscribeState

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

elapseSinceLastState

int

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

channel

const char *

現在のチャンネル ID。

OnUserAudioMuted

ユーザーがオーディオをミュートしたことの通知。

virtual void OnUserAudioMuted(const char* uid, bool isMute) {}

パラメーター

パラメーター

タイプ

説明

uid

const char*

MuteAudio を実行したユーザーのユーザー ID。

isMute

bool

true:ミュート。false:ミュート解除。

OnUserAudioInterruptedBegin

ユーザーの音声が中断されたという通知。これは通常、電話などの音声が優先されるシナリオで発生します。

virtual void OnUserAudioInterruptedBegin(const char* uid) {}

パラメーター

パラメーター

タイプ

説明

uid

const char*

音声が中断されたユーザーのユーザー ID。

OnUserAudioInterruptedEnded

ユーザーの音声中断が終了したという通知。これは OnUserAudioInterruptedBegin に対応します。

virtual void OnUserAudioInterruptedEnded(const char* uid) {}

パラメーター

パラメーター

タイプ

説明

uid

const char*

音声中断が終了したユーザーのユーザー ID。

OnVideoPublishStateChanged

ビデオパブリッシュの変更に関するコールバック。

virtual void OnVideoPublishStateChanged(AliEnginePublishState oldState, AliEnginePublishState newState, int elapseSinceLastState, const char *channel) {};

このコールバックは、ローカルユーザーのビデオパブリッシュ状態の変更をリッスンします。

パラメーター

パラメーター

タイプ

説明

oldState

AliEnginePublishState

以前のパブリッシュ状態。

newState

AliEnginePublishState

現在のパブリッシュ状態。

elapseSinceLastState

int

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

channel

const char *

現在のチャンネル ID。

OnVideoSubscribeStateChanged

カメラストリームのサブスクリプション変更に関するコールバック。

virtual void OnVideoSubscribeStateChanged(const char *uid, 
                                                  AliEngineSubscribeState oldState, 
                                                  AliEngineSubscribeState newState,
                                                  int elapseSinceLastState,
                                                  const char *channel) {};

このコールバックは、リモートユーザーのカメラストリームのサブスクリプション状態の変更をローカルユーザーに通知します。このコールバックを通じて、リモートユーザーのカメラストリームのサブスクリプション状態の変更と、前の状態から現在の状態までの時間間隔を知ることができます。

関連するコールバック

ビデオストリームには、主にカメラストリームと画面共有ストリームが含まれます。このメソッドは、カメラストリームのサブスクリプション状態の変更に関するものです。画面共有ストリームに関連するコールバックメソッドは OnScreenShareSubscribeStateChanged です。

パラメーター

パラメーター

タイプ

説明

uid

const char *

サブスクリプションが変更されたユーザー ID。

oldState

AliEngineSubscribeState

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

newState

AliEngineSubscribeState

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

elapseSinceLastState

int

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

channel

const char *

現在のチャンネル ID。

OnUserVideoMuted

ユーザーがビデオをミュートしたことの通知。

virtual void OnUserVideoMuted(const char* uid, bool isMute) {}

パラメーター

パラメーター

タイプ

説明

uid

const char*

muteVideo を実行したユーザーのユーザー ID。

isMute

bool

true:ブラックフレームをパブリッシュ。false:通常のパブリッシュ。

OnUserVideoEnabled

ローカルビデオ収集が無効または再度有効になったことの通知。

virtual void OnUserVideoEnabled(const char* uid, bool isEnable) {}

パラメーター

パラメーター

タイプ

説明

uid

const char*

EnableLocalVideo を実行したユーザーのユーザー ID。

isMute

bool

true:カメラストリームの収集はオンです。false:カメラストリームの収集はオフです。

OnUserWillResignActive

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

virtual void OnUserWillResignActive(const char* uid) {}

パラメーター

パラメーター

タイプ

説明

uid

const char*

アプリケーションがバックグラウンドに移動したユーザーのユーザー ID。

OnUserWillBecomeActive

リモートユーザーのアプリケーションがフォアグラウンドに戻ったときのコールバック。

virtual void OnUserWillBecomeActive(const char* uid) {}

パラメーター

パラメーター

タイプ

説明

uid

const char*

アプリケーションがフォアグラウンドに戻ったユーザーのユーザー ID。

OnStats

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

virtual void OnStats(const AliEngineStats& stats) {}

パラメーター

パラメーター

タイプ

説明

stats

AliEngineStats

データコールバック。

OnLocalVideoStats

ローカルビデオ統計。2 秒ごとにトリガーされます。

virtual void OnLocalVideoStats(const AliEngineLocalVideoStats& localVideoStats);

パラメーター情報

パラメーター

タイプ

説明

localVideoStats

const AliEngineLocalVideoStats&

ビットレート、フレームレート、その他の情報を含むローカルビデオ統計。

OnRemoteVideoStats

リモートビデオ統計。2 秒ごとにトリガーされます。

virtual void OnRemoteVideoStats(const AliEngineRemoteVideoStats& remoteVideoStats);

パラメーター情報

パラメーター

タイプ

説明

remoteVideoStats

const AliEngineRemoteVideoStats&

リモートユーザー ID、フレームレート、スタッタリング、その他の情報を含むリモートビデオ統計。

OnLocalAudioStats

ローカルオーディオ統計。2 秒ごとにトリガーされます。

virtual void OnLocalAudioStats(const AliEngineLocalAudioStats& localAudioStats);

パラメーター情報

パラメーター

タイプ

説明

localAudioStats

const AliEngineLocalAudioStats&

サンプルレート、サウンドチャンネル数などを含むローカルオーディオ統計。

OnRemoteAudioStats

リモートオーディオ統計。2 秒ごとにトリガーされます。

virtual void OnRemoteAudioStats(const AliEngineRemoteAudioStats& remoteAudioStats);

パラメーター情報

パラメーター

タイプ

説明

remoteAudioStats

const AliEngineRemoteAudioStats&

パケット損失率、スタッタリング率などを含むリモートオーディオ統計。

OnMediaExtensionMsgReceived

メディア拡張情報受信のコールバック。SendMediaExtensionMsg を通じて一方の端が情報を送信すると、もう一方の端はこのコールバックを通じてデータを受信します。

virtual void OnMediaExtensionMsgReceived(const char* uid, const uint8_t payloadType, const int8_t * message, uint32_t size);

sendMediaExtensionMsg を通じて一方の端が情報を送信すると、もう一方の端はこのコールバックを通じてデータを受信します。

パラメーター

パラメーター

タイプ

説明

uid

const char*

送信ユーザーの userId。

payloadType

const uint8_t

ペイロードタイプ。sendMediaExtensionMsg は 5 を返します。sendMediaExtensionMsgEx は特定のタイプを返します。

message

const int8_t *

拡張情報の内容。

size

uint32_t

拡張情報の長さ。

OnSnapshotComplete

スクリーンショット結果のコールバック。ユーザーが SnapshotVideo を正常に呼び出すと、スクリーンショット結果がこのコールバックを通じて返されます。

virtual void OnSnapshotComplete(const char* userId, AliEngineVideoTrack videoTrack, void* buffer, int width, int height, bool success);

パラメーター

パラメーター

タイプ

説明

userId

const char*

ユーザー ID。どのユーザーのビデオストリームがキャプチャされたかを示します。

videoTrack

AliEngineVideoTrack

キャプチャされたビデオのタイプ (カメラストリームや画面共有ストリームなど)。

buffer

void*

成功した場合、スクリーンショットの画像データを返します。画像形式は RGBA です。失敗した場合は nullptr を返します。

width

int

スクリーンショットの幅。

height

int

スクリーンショットの高さ。

success

bool

スクリーンショットが成功したかどうか。

  • true:スクリーンショットは成功しました。

  • false:スクリーンショットは失敗しました。

OnLocalAudioStateChange

ローカルオーディオデバイスの状態に関するコールバック。

virtual void OnLocalAudioStateChange(AliEngineLocalAudioStateType state, const char* msg);

パラメーター

パラメーター

タイプ

説明

state

AliEngineLocalAudioStateType

開始中や開始済みなど、現在のオーディオデバイスのステータス。

msg

const char*

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

onLocalVideoStateChanged

ローカルビデオデバイスの状態に関するコールバック。

virtual void onLocalVideoStateChanged(AliEngineLocalVideoStateType state, const char* msg);

パラメーター

パラメーター

タイプ

説明

state

AliEngineLocalVideoStateType

開始中や開始済みなど、現在のビデオデバイスのステータス。

msg

const char*

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

OnRemoteUserSubscribedDataChannel

データチャンネルメッセージの送信を開始できるコールバック。

virtual void OnRemoteUserSubscribedDataChannel(const char* uid);

このメソッドは、リモートユーザーがデータチャンネルをサブスクライブしたときにトリガーされるコールバックです。このコールバックは、指定されたリモートユーザーがカスタムメッセージを受信する準備ができたことをローカルユーザーに通知します。その後、SendDataChannelMessage を安全に呼び出してデータを送信できます。このコールバックは、データチャンネルをサブスクライブしていないターゲットユーザーにメッセージを送信する際のパケット損失や失敗を防ぎ、信頼性の高いメッセージ配信を保証するための重要なメカニズムです。

説明

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

パラメーター

パラメーター

タイプ

説明

uid

const char*

リモートユーザー ID。

OnDataChannelMessage

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

virtual void OnDataChannelMessage(const char* uid, const AliEngineDataChannelMsg& msg);

ARTC SDK は、カスタムメッセージを送受信する機能を提供します。これにより、音声およびビデオデータを送信しながら、カスタムのリアルタイムメッセージデータを送信できます。たとえば、このメソッドを呼び出して、リアルタイムの制御命令、ステータス同期データ、またはその他のビジネスメッセージを音声およびビデオとともに送信できます。詳細については、「カスタムメッセージの送受信」をご参照ください。

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

  • この機能はデフォルトで無効になっています。この機能を有効にするには、エンジンを作成した後、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#d78a13ea0e6hy" id="327b69c0ee1wh">SetParameter</a> を呼び出して {\"data\":{\"enablePubDataChannel\":true" + ",\"enableSubDataChannel\":true}} を設定します。

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

送信者が SendDataChannelMessage を呼び出してカスタムメッセージを送信した後、受信者がデータチャンネル機能を有効にしている場合、受信者側でこのコールバックがトリガーされます。

パラメーター

パラメーター

タイプ

説明

uid

const char*

送信ユーザー ID。

msg

const AliEngineDataChannelMsg&

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

OnCapturedAudioFrame

RAW オーディオ収集データのコールバック。

virtual bool OnCapturedAudioFrame(AliEngineAudioRawData audioRawData) = 0;

このコールバックは、現在のデバイスで収集された RAW オーディオデータを取得します。デフォルトでは無効になっています。このオーディオデータを取得するには:

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

  • RegisterAudioFrameObserver を呼び出して、オーディオデータ受信オブジェクトを登録します。

説明

このメソッドは、サンプルレート、サウンドチャンネル数、読み取り/書き込みモードの設定をサポートしています。

パラメーター

パラメーター

タイプ

説明

audioRawData

AliEngineAudioRawData

オーディオデータ。

戻り値

  • true:成功。

  • false:失敗。

OnProcessCapturedAudioFrame

3A 処理後のデータのコールバック。

virtual bool OnProcessCapturedAudioFrame(AliEngineAudioRawData audioRawData) = 0;

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

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

  • RegisterAudioFrameObserver を呼び出して、オーディオデータ受信オブジェクトを登録します。

説明

このメソッドは、サンプルレート、サウンドチャンネル数、読み取り/書き込みモードの設定をサポートしています。

パラメーター

パラメーター

タイプ

説明

audioRawData

AliEngineAudioRawData

オーディオデータ。

戻り値

  • true:成功。

  • false:失敗。

OnPublishAudioFrame

パブリッシュされたデータのコールバック。

virtual bool OnPublishAudioFrame(AliEngineAudioRawData audioRawData) = 0;

このコールバックは、パブリッシュされたオーディオデータを取得します。デフォルトでは無効になっています。このオーディオデータを取得するには:

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

  • RegisterAudioFrameObserver を呼び出して、オーディオデータ受信オブジェクトを登録します。

説明

このメソッドは、サンプルレートとサウンドチャンネル数の設定をサポートしていますが、読み取り専用モードにのみ設定できます。

パラメーター

パラメーター

タイプ

説明

audioRawData

AliEngineAudioRawData

オーディオデータ。

戻り値

  • true:成功。

  • false:失敗。

OnPlaybackAudioFrame

再生データのコールバック。

virtual bool OnPlaybackAudioFrame(AliEngineAudioRawData audioRawData) = 0;

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

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

  • RegisterAudioFrameObserver を呼び出して、オーディオデータ受信オブジェクトを登録します。

説明

このメソッドは、サンプルレート、サウンドチャンネル数、読み取り/書き込みモードの設定をサポートしています。

制限事項

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

パラメーター

パラメーター

タイプ

説明

audioRawData

AliEngineAudioRawData

オーディオデータ。

戻り値

  • true:成功。

  • false:失敗。

OnRemoteUserAudioFrame

リモートでプルされたストリームデータのコールバック。

virtual bool OnRemoteUserAudioFrame(const char *uid, AliEngineAudioRawData audioRawData) = 0; 

このコールバックは、プルされている指定されたユーザーのリモートオーディオデータを取得します。デフォルトでは無効になっています。このオーディオデータを取得するには:

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

  • RegisterAudioFrameObserver を呼び出して、オーディオデータ受信オブジェクトを登録します。

説明

このメソッドは、サンプルレートやサウンドチャンネル数の設定をサポートしていませんが、読み取り/書き込みモードを設定できます。

制限事項

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

パラメーター

パラメーター

タイプ

説明

uid

const char *

リモートユーザー ID。

audioRawData

AliEngineAudioRawData

オーディオデータ。

戻り値

  • true:成功。

  • false:失敗。

OnCaptureVideoSample

ローカルで収集されたビデオデータのコールバック。

virtual bool OnCaptureVideoSample(AliEngineVideoSource videoSource, AliEngineVideoRawData &videoRawData) = 0;

このメソッドは、ローカルビデオ収集データを取得するためのコールバックです。ローカルカメラで収集された RAW ビデオフレーム (YUV データなど) を取得するために使用されます。このコールバックを使用して、カスタムビデオ処理ロジック (フィルター、ウォーターマーク、トランスコーディングの追加など) を実装し、処理されたデータを後続のエンコーディングまたはレンダリングのために SDK に返すかどうかを決定できます。処理されたビデオを SDK に送信するには、true を返します。

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

<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#0873ceb145h0t" id="c9469a35210sg">RegisterVideoSampleObserver</a> を正常に呼び出してビデオデータオブザーバーを登録した後、SDK は対応するビデオフレームをキャプチャします。

パラメーター

パラメーター

タイプ

説明

videoSource

AliEngineVideoSource

ビデオデータソース。

videoRawData

AliEngineVideoRawData

生のビデオデータ。

レスポンスの説明

  • true:SDK に書き戻す必要があります (I420 およびネイティブ (iOS/macOS) のみ有効)。

  • false:SDK に書き戻す必要はありません。

OnPreEncodeVideoSample

エンコーディング前のローカルビデオデータのコールバック。

virtual bool OnPreEncodeVideoSample(AliEngineVideoSource videoSource, AliEngineVideoRawData &videoRawData) = 0;

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

パラメーター

パラメーター

タイプ

説明

videoSource

AliEngineVideoSource

ビデオデータソース。

videoRawData

AliEngineVideoRawData

ビデオデータ。

戻り値

  • true:SDK に書き戻す必要があります (I420 およびネイティブ (iOS/macOS) のみ有効)。

  • false:SDK に書き戻す必要はありません。

OnRemoteVideoSample

サブスクライブされたリモートビデオデータのコールバック。

virtual bool OnRemoteVideoSample(const char *uid, AliEngineVideoSource videoSource, AliEngineVideoRawData &videoRawData) = 0;

このメソッドは、サブスクライブされたリモートビデオデータを取得するためのコールバックです。リモートユーザーの RAW ビデオフレームデータ (YUV 形式など) を取得するために使用されます。このコールバックを使用して、カスタム処理ロジック (フィルター、ウォーターマーク、トランスコーディングの追加など) を実装し、処理されたデータを後続のレンダリングのために SDK に返すかどうかを決定できます。

パラメーター

パラメーター

タイプ

説明

uid

const char *

リモートユーザー ID。

videoSource

AliEngineVideoSource

ビデオデータソース。

videoRawData

AliEngineVideoRawData

生のビデオデータ。

戻り値

  • true:SDK に書き戻す必要があります。

  • false:SDK に書き戻す必要はありません。

GetVideoAlignment

ビデオ出力の幅の配置。

virtual AliEngineVideoObserAlignment GetVideoAlignment();

戻り値

期待されるビデオ出力の幅の配置。AliEngineVideoObserAlignment をご参照ください。

GetObservedFramePosition

ビデオデータ出力の内容。

virtual uint32_t GetObservedFramePosition();

戻り値

期待されるビデオ出力の内容。AliEngineVideoObserPosition をご参照ください。

onDestroyCompletion

破棄操作が完了したときのコールバック。

virtual void onDestroyCompletion();

このコールバックは、SDK エンジンインスタンスが破棄され、新しいインスタンスを作成できることを示します。

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

このコールバックは、ユーザーが Destroy を呼び出したときにエンジンが破棄された後にトリガーされます。

説明

メインスレッドをブロックしないように、他のメソッドを実行する前に onDestroyCompletion コールバックを待ってください。

OnAudioEffectFinished

ローカルの効果音が再生完了したときのコールバック。

virtual void OnAudioEffectFinished(int soundId) {}

パラメーター

タイプ

説明

soundId

int

再生が完了した効果音の ID。

OnAudioVolumeCallback

サブスクライブされたオーディオの音量、音声ステータス、UID のコールバック。

virtual void OnAudioVolumeCallback(const AliEngineUserVolumeInfo* volumeInfo, int volumeInfoCount, int totalVolume) {}

このコールバックはデフォルトで無効になっています。<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#f69f93ca70pa6" id="9e5f7dfbe43ze">EnableAudioVolumeIndication</a> メソッドを呼び出すことで有効にできます。有効にすると、アクティブなストリームプッシュでチャンネルに参加した後、SDK は <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#f69f93ca70pa6" id="ebd7f2147ar4d">EnableAudioVolumeIndication</a> で指定された間隔でこのコールバックをトリガーします。コールバックの結果には、ローカルとリモートの両方のスピーカーの音量情報が含まれます。

パラメーター

パラメーター

タイプ

説明

volumeInfo

AliEngineUserVolumeInfo*

ユーザーの音量情報の配列。ユーザーの UID、音声ステータス、音量が含まれます。

  • UID が 0 の場合はローカルの話者を示します。

  • UID が 1 の場合はすべてのリモートユーザーの混合音量を示します。

  • その他の値は、指定されたリモートユーザーの音量情報を示します。

volumeInfoCount

int

ユーザー音量情報配列内の情報の数。

totalVolume

int

ミキシング後の合計音量。範囲は [0,255] です。ローカルユーザーのコールバックでは、totalVolume はミキシング後のローカルユーザーの音量です。リモートユーザーのコールバックでは、totalVolume はミキシング後のすべてのスピーカーの合計音量です。

OnActiveSpeaker

アクティブなスピーカーのコールバック。

virtual void OnActiveSpeaker(const char *uid) {}

<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#f69f93ca70pa6" id="b5e0ba1248tmp">EnableAudioVolumeIndication</a> を正常に呼び出した後、SDK は音量が最も大きいリモートユーザーを継続的に監視します。現在の期間内で最も頻繁に最も大きいと識別されたリモートユーザーがアクティブなスピーカーです。

トリガー条件

チャンネル内のユーザー数が 2 人以上で、アクティブなリモートユーザーがいる場合、SDK はこのコールバックをトリガーし、最もアクティブなリモートユーザーの UID を報告します。

  • 最もアクティブなリモートユーザーが常に同じユーザーである場合、SDK は OnActiveSpeaker コールバックを再度トリガーしません。

  • 最もアクティブなリモートユーザーが変更された場合、SDK はこのコールバックを再度トリガーし、新しい最もアクティブなリモートユーザーの UID を報告します。

パラメーター

パラメーター

タイプ

説明

uid

const char *

現在話している人の ID。

OnPublishLiveStreamStateChanged

バイパスパブリッシュ状態の変更に関するコールバック。

virtual void OnPublishLiveStreamStateChanged(const char* streamUrl ,AliEngineLiveTranscodingState state ,AliEngineLiveTranscodingErrorCode errCode){};

パラメーター

パラメーター

タイプ

説明

streamURL

const char*

ストリーム URL。

state

AliEngineLiveTranscodingState

状態。

errCode

AliEngineLiveTranscodingErrorCode

エラーコード。

OnPublishTaskStateChanged

バイパスタスク状態の変更に関するコールバック。

virtual void OnPublishTaskStateChanged(const char* streamUrl, AliEngineTrascodingPublishTaskStatus state){};

パラメーター

パラメーター

タイプ

説明

streamURL

const char*

ストリーム URL。

state

AliEngineTrascodingPublishTaskStatus

状態。

OnNetworkQualityChanged

ネットワーク品質の変更に関するコールバック。ネットワーク品質が変更されたときにトリガーされます。

virtual void OnNetworkQualityChanged(const char *uid, AliEngineNetworkQuality upQuality, AliEngineNetworkQuality downQuality);

パラメーター

パラメーター

タイプ

説明

uid

char*

ネットワーク品質が変更されたユーザーの UID。

説明

空の UID は、ユーザー自身のネットワーク品質が変更されたことを示します。

upQuality

AliEngineNetworkQuality

アップストリームのネットワーク品質レベル。

downQuality

AliEngineNetworkQuality

ダウンストリームのネットワーク品質レベル。

OnLastmileDetectResultWithQuality

通話前のネットワーク品質検出のコールバック。検出開始後約 3 秒で提供されます。

virtual void OnLastmileDetectResultWithQuality(AliEngineNetworkQuality networkQuality);

このコールバックは、チャンネルに参加する前のローカルユーザーのネットワーク検出結果を記述し、ネットワーク品質レベルを大まかに判断するために使用されます。StartLastmileDetect を呼び出した後、SDK は約 3 秒でこのコールバックを返します。

パラメーター

パラメーター

タイプ

説明

networkQuality

AliEngineNetworkQuality

ネットワーク品質レベル。

OnLastmileDetectResultWithBandWidth

通話前のネットワーク品質検出の結果のコールバック。検出後約 30 秒で提供されます。

virtual void OnLastmileDetectResultWithBandWidth(int code, AliRTCSdk::AliEngineNetworkProbeResult networkQuality);

StartLastmileDetect を呼び出した後、SDK は約 30 秒でこのコールバックを返し、ネットワーク品質の詳細な結果を提供します。

パラメーター

パラメーター

タイプ

説明

code

int

戻り値:

  • 0:検出成功。

  • -1:検出失敗。

networkQuality

AliRTCSdk::AliEngineNetworkProbeResult

リンク RTT と、上りおよび下りネットワークのパケット損失率、ジッター、帯域幅を含むネットワーク検出結果。

OnOccurError

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

virtual void OnOccurError(int error, const char *msg);

パラメーター

パラメーター

タイプ

説明

error

int

エラータイプ。AliEngineErrorCode をご参照ください。

msg

const char *

エラーメッセージ。

OnFirstAudioPacketSend

最初のオーディオパケット送信のコールバック。このコールバックは、最初のオーディオデータパケットが送信されたときにトリガーされます。

virtual void OnFirstAudioPacketSend(AliEngineAudioTrack audioTrack, int timeCost);

パラメーター

パラメーター

タイプ

説明

audioTrack

AliEngineAudioTrack

オーディオタイプ。どのオーディオストリームの最初のパケットが送信されたかを示します。

timeCost

int

送信にかかった時間。チャンネルへの参加から最初のオーディオパケットが送信されるまで (ミリ秒単位)。

OnFirstAudioPacketReceived

最初のオーディオパケット受信のコールバック。このコールバックは、最初のリモートオーディオデータパケットが受信されたときにトリガーされます。

virtual void OnFirstAudioPacketReceived(const char* uid, AliEngineAudioTrack audioTrack, int timeCost) 

パラメーター

パラメーター

タイプ

説明

uid

const char*

リモートユーザー ID。

audioTrack

AliEngineAudioTrack

オーディオタイプ。どのオーディオストリームの最初のパケットが受信されたかを示します。

timeCost

int

受信にかかった時間。チャンネルへの参加から最初のオーディオパケットが受信されるまで (ミリ秒単位)。

OnFirstVideoPacketSend

最初のビデオパケット送信のコールバック。

virtual void OnFirstVideoPacketSend(AliEngineVideoTrack videoTrack, int timeCost);

パラメーター

パラメーター

タイプ

説明

videoTrack

AliEngineVideoTrack

ビデオタイプ。カメラストリームや画面共有ストリームなど、どのビデオストリームの最初のパケットが送信されたかを示します。

timeCost

int

送信にかかった時間。チャンネルへの参加から最初のビデオパケットが送信されるまで (ミリ秒単位)。

OnFirstVideoPacketReceived

最初のビデオパケット受信のコールバック。

virtual void OnFirstVideoPacketReceived(const char* uid, AliEngineVideoTrack videoTrack, int timeCost);

パラメーター

パラメーター

タイプ

説明

uid

const char*

リモートユーザー ID。

videoTrack

AliEngineVideoTrack

ビデオタイプ。カメラストリームや画面共有ストリームなど、どのビデオストリームの最初のパケットが受信されたかを示します。

timeCost

int

受信にかかった時間。チャンネルへの参加から最初のビデオパケットが受信されるまで (ミリ秒単位)。

OnFirstRemoteAudioDecoded

最初のデコードされたリモートオーディオフレームのコールバック。

virtual void OnFirstRemoteAudioDecoded(const char* uid, AliEngineAudioTrack audioTrack, int elapsed);

パラメーター

パラメーター

タイプ

説明

uid

const char*

リモートユーザー ID。

audioTrack

AliEngineAudioTrack

オーディオタイプ。どのオーディオストリームの最初のフレームがデコードされたかを示します。

elapsed

int

ローカルユーザーがチャンネルに参加してからこのコールバックがトリガーされるまでの遅延 (ミリ秒単位)。

OnFirstRemoteVideoFrameDrawn

このメッセージは、リモートユーザーの最初のビデオフレームが表示されたときにトリガーされます。

virtual void OnFirstRemoteVideoFrameDrawn(const char *uid, AliEngineVideoTrack videoTrack,
                                                  int width, int height, int elapsed);

パラメーター

パラメーター

タイプ

説明

uid

const char*

リモートユーザー ID。

videoTrack

AliEngineVideoTrack

ビデオタイプ。カメラストリームや画面共有ストリームなど、どのビデオストリームかを示します。

width

int

ビデオの幅。

height

int

ビデオの高さ。

elapsed

int

ローカルユーザーがチャンネルに参加してからこのコールバックがトリガーされるまでの合計遅延 (ミリ秒単位)。

OnFirstLocalVideoFrameDrawn

このメッセージは、プレビューが最初のビデオフレームを表示し始めたときにトリガーされます。

virtual void OnFirstLocalVideoFrameDrawn(int width, int height, int elapsed);

パラメーター

パラメーター

タイプ

説明

width

int

ビデオの幅。

height

int

ビデオの高さ。

elapsed

int

ローカルユーザーがチャンネルに参加してからこのコールバックがトリガーされるまでの合計遅延 (ミリ秒単位)。

OnTestAudioVolumeCallback

通話前の音声収集テストの音量に関するコールバック。

virtual void OnTestAudioVolumeCallback(int volumn);

通話前に StartAudioCaptureTest を正常に呼び出した後、このコールバックがトリガーされます。通常の音量が返される場合、音声収集が正常であることを示します。

パラメーター

パラメーター

タイプ

説明

volumn

int

音量情報を返します。

OnAudioAccompanyStateChanged

ローカル伴奏再生状態のコールバック。

virtual void OnAudioAccompanyStateChanged(AliEngineAudioAccompanyStateCode playState, AliEngineAudioAccompanyErrorCode errorCode);

このコールバックは、伴奏再生状態が変更されたときにトリガーされ、現在の再生状態とエラーコードを通知します。

パラメーター

パラメーター

タイプ

説明

playState

AliEngineAudioAccompanyStateCode

現在の再生状態。

errorCode

AliEngineAudioAccompanyErrorCode

再生エラーコード。

OnAudioFileInfo

オーディオファイル情報のコールバック。

virtual void OnAudioFileInfo(AliEngineAudioFileInfo info, AliEngineAudioAccompanyErrorCode errorCode);

GetAudioFileInfo を呼び出した後にトリガーされ、現在のオーディオファイル情報とエラーコードを返します。

パラメーター

パラメーター

タイプ

説明

info

AliEngineAudioFileInfo

オーディオファイル情報。

errorCode

AliEngineAudioAccompanyErrorCode

エラーコード。

OnRemoteAudioAccompanyStarted

リモートユーザーの伴奏が再生開始されたときのコールバック。

virtual void OnRemoteAudioAccompanyStarted(const char* uid);

パラメーター

パラメーター

タイプ

説明

uid

const char*

リモートユーザー ID。

OnRemoteAudioAccompanyFinished

リモートユーザーの伴奏が再生終了したときのコールバック。

virtual void OnRemoteAudioAccompanyFinished(const char* uid);

パラメーター

パラメーター

タイプ

説明

uid

const char*

リモートユーザー ID。

SetParameter

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

virtual int SetParameter(const char* parameter) = 0;

パラメーター

パラメーター

タイプ

説明

parameter

const char*

カスタムパラメーター。

GetParameter

カスタムパラメーターを取得します。

virtual String GetParameter(const char* parameter) = 0;

パラメーター

パラメーター

タイプ

説明

parameter

const char*

カスタムパラメーター。

EnableAudioFrameObserver

オーディオデータのサブスクリプションを有効または無効にします。

virtual int EnableAudioFrameObserver(bool enabled, AliEngineAudioSource audioSource, AliEngineAudioFrameObserverConfig config) = 0;

このメソッドは、指定されたタイプのオーディオデータのコールバックを有効または無効にし、さまざまなタイプの RAW およびエンコードされたオーディオデータを取得できるようにします。デフォルトでは無効になっています。有効にするには、このメソッドを呼び出します。

説明

このメソッドを呼び出して、対応する AliEngineAudioSource のオーディオデータコールバックを有効にする場合、RegisterAudioFrameObserver メソッドと組み合わせて使用し、オーディオデータ受信オブジェクトを渡す必要があります。

呼び出すタイミング

オーディオデータを取得する必要がある場合は、このメソッドを呼び出して有効にすることができます。

パラメーター

パラメーター

タイプ

説明

enable

bool

データコールバックを許可するかどうか。

audioSource

AliEngineAudioSource

コールバックデータソースのタイプ。収集済み (0)、3A 後 (1)、パブリッシュ済み (2)、再生 (3)、プルされたオーディオデータ (5) が含まれます。

注意:

  • パブリッシュされたオーディオデータと、パブリッシュ/再生が混在したオーディオデータは、ReadOnly モードのみをサポートします。

  • プルされたオーディオデータは、サンプルレートやチャンネル数などのオーディオパラメーターの変更をサポートしていません。

config

AliEngineAudioFrameObserverConfig

オーディオコールバックパラメーターの設定。サンプルレート、チャンネル数、コールバックの読み取り/書き込みモード (読み取り専用、書き込み専用、読み取り/書き込み) が含まれます。パラメーターが null の場合、デフォルトは (48000, 1, ReadOnly) です。

RegisterAudioFrameObserver

オーディオデータコールバックを登録します。

virtual int RegisterAudioFrameObserver(IAudioFrameObserver* observer) = 0;

このメソッドは、オーディオコールバックデータの受信オブジェクトを登録します。

呼び出すタイミング

SDK が OnCapturedAudioFrameOnProcessCapturedAudioFrameOnPublishAudioFrameOnPlaybackAudioFrame、または OnRemoteUserAudioFrame コールバックをトリガーしてさまざまなタイプのオーディオデータを取得する必要がある場合は、このメソッドを呼び出してオーディオデータ受信オブジェクトを提供する必要があります。登録を解除するには、このメソッドを再度呼び出して null を渡します。

制限事項

EnableAudioFrameObserver を呼び出して、特定の AliEngineAudioSource のコールバックを有効にする必要があります。そうしないと、渡されたオブザーバーはデータを取得できません。

パラメーター

パラメーター

タイプ

説明

observer

IAudioFrameObserver*

コールバックオブジェクトへのポインター。

戻り値

成功の場合は 0、失敗の場合はその他の値。

UnRegisterAudioFrameObserver

オーディオデータ出力のサブスクリプションを解除します (IAliEngineMediaEngine メソッド)。

virtual void UnRegisterAudioFrameObserver(IAudioFrameObserver* observer) = 0;

パラメーター

名前

タイプ

説明

observer

IAudioFrameObserver

コールバックオブジェクトへのポインター。

RegisterVideoSampleObserver

ビデオデータ出力にサブスクライブします。

virtual void RegisterVideoSampleObserver(IVideoFrameObserver* observer) = 0;

このメソッドは、ビデオデータの出力オブジェクトを登録します。登録を解除するには、UnRegisterVideoSampleObserver メソッドを呼び出します。

説明

出力データは {@link IVideoFrameObserver} コールバックを通じて返されます。

呼び出すタイミング

RAW ビデオデータ (YUV や RGBA 形式など) を取得するには、このメソッドを呼び出してビデオデータオブザーバーを登録し、さまざまな段階でビデオデータを取得できます。

関連するコールバック

ビデオデータ出力オブザーバーを正常に登録した後、SDK は各ビデオフレームをキャプチャするときに実装したコールバックをトリガーします。必要に応じて、対応するコールバックを実装します:

パラメーター

名前

タイプ

説明

observer

IVideoFrameObserver

コールバックオブジェクトへのポインター。

UnRegisterVideoSampleObserver

ビデオデータ出力の登録を解除します。

virtual void UnRegisterVideoSampleObserver(IVideoFrameObserver* observer) = 0;

このメソッドは RegisterVideoSampleObserver メソッドに対応し、ビデオデータ出力オブジェクトの登録を解除する役割を担います。

パラメーター

名前

タイプ

説明

observer

IVideoFrameObserver

コールバックオブジェクトへのポインター。

SnapshotVideo

ビデオスナップショット機能。

virtual int SnapshotVideo(const String& userId, const AliEngineVideoTrack &trackType) = 0;

ビデオスナップショット機能は非同期メソッドです。AliEngineEventListener::OnSnapshotComplete コールバックをリッスンして、現在のスクリーンショットを取得できます。

パラメーター

パラメーター

タイプ

説明

userId

const String&

ユーザー ID。userId の空の文字列はローカルユーザーを表します。

trackType

const AliEngineVideoTrack&

ビデオストリームタイプ。AliEngineVideoTrackCamera と AliEngineVideoTrackScreen のみがサポートされています。

戻り値

  • 0:メソッドの呼び出しは成功しました。スクリーンショットはコールバックを通じて取得されます。

  • <0:メソッドの呼び出しは失敗しました。

SetLogDirPath

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

static int SetLogDirPath(const char *logDirPath);

パラメーター

名前

タイプ

説明

logDirPath

const char *

ログファイルを保存する絶対パス。

戻り値

0:メソッドの呼び出しは成功しました。その他の値:メソッドの呼び出しは失敗しました。

説明

ログの損失を避けるため、他の SDK メソッドを呼び出す前にこのメソッドを呼び出してください。アプリケーションは、指定されたディレクトリが存在し、書き込み可能であることを確認する必要があります。

SetLogLevel

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

static void SetLogLevel(AliEngineLogLevel logLevel);

パラメーター

名前

タイプ

説明

logLevel

AliEngineLogLevel

ログレベル。デフォルト値は AliEngineLogInfo です。

GetNetworkTime

現在のネットワーク時間を取得します。

virtual long long GetNetworkTime() = 0;

戻り値

オフセットで調整された現在のネットワーク時間 (NTP 時間) をミリ秒単位で取得します。

SendDataChannelMessage

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

virtual int SendDataChannelMessage(const AliEngineDataChannelMsg& msg) = 0;

ARTC SDK は、カスタムメッセージを送受信する機能を提供します。これにより、音声およびビデオデータを送信しながら、カスタムのリアルタイムメッセージデータを送信できます。たとえば、このメソッドを呼び出して、リアルタイムの制御命令、ステータス同期データ、またはその他のビジネスメッセージを音声およびビデオとともに送信できます。詳細については、「カスタムメッセージの送受信」をご参照ください。

説明
  • カスタムメッセージチャンネルはデフォルトで無効になっています。この機能を有効にするには、<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#d78a13ea0e6hy" id="fe71661227b31">SetParameter</a> API を呼び出し、パラメーターを `"{\"data\":{\"enablePubDataChannel\":true" + ",\"enableSubDataChannel\":true}}"` に設定します。これは、チャンネルに参加する前または後に行うことができます。

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

関連するコールバック

  • 送信者がカスタムメッセージチャンネルを正常に有効にした後、このメソッドを呼び出してカスタムメッセージを送信できます。受信者は、 OnDataChannelMessage コールバックをリッスンすることでこのコールバックをトリガーし、カスタムメッセージを受信します。

制限事項

  • ストリーマーロールはメッセージを送受信できます。視聴者ロールはメッセージの受信のみをサポートします。

  • SetParameter を呼び出してカスタムメッセージチャンネルを有効にする必要があります。

  • データ送信は次のように制限されています:

    • ビットレート制限は 30 KB/s です。

    • データチャンネルは、1 秒あたり最大 60 のデータパケットを送信でき、各パケットは最大 1 KB です。

パラメーター

名前

タイプ

説明

msg

const AliEngineDataChannelMsg&

送信するメッセージ。

戻り値の説明

  • 0:成功。

  • 0 以外の値:失敗。

StartScreenShareByDesktopId

指定したデスクトップ ID に対応する画面ストリームの共有を開始します。

virtual int StartScreenShareByDesktopId(unsignedint desktopId, const AliEngineScreenShareConfig& config) = 0;

パラメーター

名前

タイプ

説明

desktopId

unsignedint

デスクトップ ID。

config

AliEngineScreenShareConfig

デスクトップを共有するための構成。

戻り値

  • 0:成功。

  • その他:失敗。

StartScreenShareByScreenRegion

指定された画面領域のビデオストリームの共有を開始します。

  • このメソッドはデスクトップ共有専用です。ウィンドウ共有を設定するには、StartScreenShareByWindowId メソッドを使用します。

  • 共有する特定の領域を構成する場合、共有領域の最小解像度は 16 × 16 です。設定された領域が最小解像度より小さい場合、最小解像度にリセットされます。

  • 共有する特定の領域を構成する場合、設定された共有領域が実際のデスクトップ解像度を超えると、デスクトップ全体が共有されます。

  • 仮想スクリーン座標の詳細については、「仮想スクリーン」をご参照ください。

virtual int StartScreenShareByScreenRegion(
const AliEngineScreenShareRegion & screenRegion, 
const AliEngineScreenShareConfig & config) = 0;

パラメーター

名前

タイプ

説明

screenRegion

AliEngineScreenShareRegion

共有する画面の位置を仮想画面に対して指定します。

config

AliEngineScreenShareConfig

画面共有の構成。

戻り値

  • 0:成功。

  • その他:失敗。

StartScreenShareByWindowId

ユーザー指定のウィンドウ ID を使用して、ビデオソースからのビデオストリームを共有およびパブリッシュします。

virtual int StartScreenShareByWindowId(unsigned int windowId, 
  const AliEngineScreenShareConfig & config) = 0;

パラメーター

名前

タイプ

説明

windowId

int

ウィンドウ ID。

config

AliEngineScreenShareConfig

画面共有の構成。

戻り値

  • 0:成功。

  • その他:失敗。

StopScreenShare

画面共有を停止します。

virtual int StopScreenShare() = 0 ;

戻り値

  • 0:成功。

  • その他:失敗。

ResumeScreenShare

画面共有を再開します。

virtual int ResumeScreenShare() = 0;

戻り値

  • 0:成功。

  • その他:失敗。

PauseScreenShare

画面共有を一時停止します。

virtual int PauseScreenShare() = 0;

戻り値

  • 0:成功。

  • その他:失敗。

IsScreenSharePublished

画面共有がパブリッシュされているかどうかを照会します。

説明

このメソッドを呼び出して、画面共有ストリームが現在パブリッシュされているかどうかを確認します。SDK はデフォルトで画面共有ストリームをパブリッシュしません。画面共有ストリームをパブリッシュするには、StartScreenShareByDesktopIdStartScreenShareByScreenRegion、または StartScreenShareByWindowId メソッドを呼び出すことができます。

virtual bool IsScreenSharePublished() = 0;

戻り値

  • true:パブリッシュが設定されています。

  • false:パブリッシュが設定されていません。

UpdateScreenShareConfig

画面共有の構成を更新します。

virtual int UpdateScreenShareConfig(const AliEngineScreenShareConfig & config) = 0;

パラメーター

パラメーター

タイプ

説明

config

AliEngineScreenShareConfig

更新された画面共有の構成。

戻り値

  • 0:成功。

  • その他:失敗。

CheckWindowSourceVaild

共有ウィンドウ ID に対応するウィンドウが有効かどうかを判断します。

virtual bool CheckWindowSourceVaild(unsigned int windowId) = 0;

パラメーター

パラメーター

タイプ

説明

int

unsigned int

ウィンドウ ID。

戻り値

  • true:対応するウィンドウ ID は有効です。

  • false:対応するウィンドウ ID は無効です。

GetScreenShareConfig

現在の画面共有の構成情報を返します。

virtual AliEngineScreenShareConfig GetScreenShareConfig() = 0;

パラメーター

パラメーター

タイプ

説明

int

unsigned int

ウィンドウ ID。

戻り値

  • true:対応するウィンドウ ID は有効です。

  • false:対応するウィンドウ ID は無効です。

GetScreenShareSourceInfo

指定されたソースに基づいてオブジェクトのリストを取得します。

virtual AliEngineScreenSourceList* GetScreenShareSourceInfo(AliEngineScreenShareType sourceType) = 0;

パラメーター

パラメーター

タイプ

説明

sourceType

AliEngineScreenShareType

共有ソースタイプ。

戻り値

  • 空でない AliEngineScreenSourceList オブジェクトは、取得された共有ソースタイプのリストです。

  • NULL は失敗を示します。

GetCurrentScreenShareSourceId

現在の共有画面ソースの ID を取得します。

virtual unsigned int GetCurrentScreenShareSourceId() = 0;

戻り値

  • >=0 は現在の共有画面ソースの ID を示します。

  • <0 は失敗を示します。

GetCurrentScreenShareSourceType

指定されたソースからオブジェクトのリストを取得します。

virtual AliEngineScreenShareType GetCurrentScreenShareSourceType() = 0;

パラメーター

パラメーター

タイプ

説明

sourceType

AliEngineScreenShareType

共有ソースのタイプ。

戻り値

  • 共有ソースタイプのリストを含む空でない AliEngineScreenSourceList オブジェクト。

  • NULL は操作が失敗したことを示します。

GetDesktopRegion

指定されたソース ID とソースタイトルに基づいてデスクトップ共有範囲を取得します。

virtual int GetDesktopRegion(const String& sourceId, const String& sourceTitle, AliEngineScreenShareRegion & region) = 0;

パラメーター

パラメーター

タイプ

説明

sourceId

String

共有ソース ID。

sourceTitle

String

ソースタイトル。

region

AliEngineScreenShareRegion

共有範囲。

戻り値

  • 0:成功。

  • その他:失敗。

SetScreenShareEncoderConfiguration

画面ストリームのビデオエンコーディングプロパティを設定します。

virtual void SetScreenShareEncoderConfiguration(const AliEngineScreenShareEncoderConfiguration& config) = 0;

このメソッドは、解像度、フレームレート、ビットレート、ビデオの向きなど、画面ストリームのビデオエンコーディングプロパティのビデオパラメーターを設定します。すべての設定パラメーターには対応する範囲制限があります。設定されたパラメーターが有効範囲外の場合、SDK は自動的に調整します。

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

パラメーター

パラメーター

タイプ

説明

config

AliEngineScreenShareEncoderConfiguration

定義済みの画面共有エンコーディングプロパティ。

所属インターフェイス

IAliEngineMediaEngine