Skip to main content

AOQ Client SDK macOS API リファレンス

このトピックでは、AOQ Client SDK for macOS の Objective-C API、コールバック、およびデータ型について説明します。

AOQ SDK は汎用の動画 API を提供します。Qwen-Audio-Realtime は動画の入出力をサポートしていません。その他のモデルのメディア機能は、それぞれのアクセスドキュメントをご覧ください。
この SDK は、エンジンインスタンスをグローバルシングルトンとして保持し、AoqClientEngine クラスを介して API を提供し、AoqEngineDelegate プロトコルを介して非同期イベントを報告します。

API インデックス

エンジンライフサイクル

API

説明

createEngine:delegate:

エンジンインスタンス (シングルトン) の作成

destroy

エンジンインスタンスの破棄

getVersion

SDK バージョンの取得

connect:

リレーサーバーへの接続

disconnect

サーバーからの切断

オーディオデバイス管理

API

説明

startAudioCapture:

音声キャプチャデバイス (マイク) を開く

stopAudioCapture

音声キャプチャデバイスを閉じる

muteAudioCapture:

音声キャプチャのミュートまたはミュート解除

startAudioPlayer:

リモート音声を再生するための音声レンダリングを開始

stopAudioPlayer

音声レンダリングの停止

pauseAudioPlayer:

音声レンダリングの一時停止 (フェードアウト対応)

resumeAudioPlayer:

音声レンダリングの再開 (フェードイン対応)

interruptAudioPlayer:fadeMs:

現在のオーディオセッションの中断

enableLocalAudioVolumeIndication:

ローカルキャプチャボリューム通知の有効化または無効化

音声エンコーディング設定

API

説明

setAudioEncoderConfig:

音声エンコーディングパラメーターの設定

setAudioDecoderConfig:

音声デコーディングパラメーターの設定

ビデオデバイス管理

API

説明

startVideoCapture:

ビデオキャプチャデバイス (カメラ) を開く

stopVideoCapture

ビデオキャプチャデバイスを閉じる

setLocalView:canvas:

ローカルビデオレンダリングウィンドウの設定または削除

setRemoteView:canvas:

リモートビデオレンダリングウィンドウの設定または削除

ビデオエンコーディングと外部入力

API

説明

setVideoEncoderConfig:

ビデオエンコーディングパラメーターの設定

setVideoDecoderConfig:

ビデオデコーディングパラメーターの設定

pushExternalVideoCapturedFrame:frame:

外部でキャプチャされたビデオフレームのプッシュ

pushExternalVideoEncodedFrame:frame:

外部でエンコードされたビデオフレームのプッシュ

メディアストリーム制御

API

説明

enableSendMediaStream:enable:

ローカルメディアストリーム送信の有効化または無効化

音声ファイルの再生

API

説明

startAudioFile:config:

パブリッシングストリームへのローカル音声ファイルの再生開始

stopAudioFile:

音声ファイル再生の停止

pauseAudioFile:

音声ファイル再生の一時停止

resumeAudioFile:

音声ファイル再生の再開

getAudioFileDuration:

音声ファイルの総持続時間のクエリ

getAudioFileCurrentPosition:

音声ファイルの現在の再生位置のクエリ

setAudioFilePositionMillis:positionMillis:

音声ファイルの再生位置の設定 (シーク)

setAudioFileVolume:type:volume:

音声ファイルのボリューム設定

getAudioFileVolume:type:

音声ファイルの現在のボリュームのクエリ

外部音声ストリーム

API

説明

addAudioExternalStream:config:

外部音声ストリームの追加

pushAudioExternalStreamData:data:

外部音声 PCM データの供給

setAudioExternalStreamVolume:type:volume:

外部音声ストリームのボリューム設定

getAudioExternalStreamVolume:type:

外部音声ストリームのボリュームのクエリ

clearAudioExternalStreamBuffer:fadeoutMs:

外部音声ストリームのバッファーのクリア

removeAudioExternalStream:

外部音声ストリームの削除

リアルタイムメッセージング

API

説明

sendDataMsg:

リアルタイムデータメッセージの送信

音声フレームコールバック

API

説明

setAudioFrameObserver:

音声フレームデータコールバックリスナーの設定

enableAudioFrameObserver:audioSource:config:

指定位置での音声フレームコールバックの有効化または無効化

ビデオフレームコールバック

API

説明

setVideoFrameObserver:

ビデオフレームデータコールバックリスナーの設定

enableVideoFrameObserver:videoSource:config:

指定位置でのビデオフレームコールバックの有効化または無効化

AoqEngineDelegate コールバック

コールバック

説明

onError:message:

エンジンエラーコールバック

onWarning:message:

エンジン警告コールバック

onConnectionStatusChange:

接続ステータス変更コールバック

onStats:

エンジン統計コールバック

onAudioDeviceStateChanged:

オーディオデバイス操作ステータス変更コールバック

onAudioDeviceRouteChanged:

音声出力ルート変更コールバック

onAudioFileState:

音声ファイル再生ステータスコールバック

onLocalAudioVolumeIndication:

ローカルキャプチャボリューム通知コールバック

onVideoDeviceStateChanged:

ビデオデバイス操作ステータス変更コールバック

onDataMsg:

受信したリアルタイムデータメッセージのコールバック

API の詳細

エンジンライフサイクル

createEngine:delegate:

エンジンインスタンスを作成します。SDK はエンジンをグローバルシングルトンとして保持するため、このメソッドを再度呼び出すと既存のインスタンスが返されます。
+ (instancetype _Nonnull)createEngine:(AoqCreateConfig * _Nonnull)config
                             delegate:(id<AoqEngineDelegate> _Nonnull)delegate;
パラメーター

パラメーター

型

説明

config

AoqCreateConfig *

エンジン作成設定。詳細については、AoqCreateConfig をご参照ください。

delegate

id<AoqEngineDelegate>

エンジンイベントコールバックのデリゲート。詳細については、AoqEngineDelegate をご参照ください。

戻り値:エンジンインスタンス。nil が返されることはありません。

destroy

エンジンインスタンスを破棄します。エンジンが破棄された後、引き続き使用するには再度 createEngine:delegate: を呼び出す必要があります。
+ (int)destroy;
戻り値:成功した場合は 0、失敗した場合は 0 以外。

getVersion

SDK バージョンを取得します。
+ (NSString * _Nonnull)getVersion;
戻り値:バージョン文字列。

connect:

リレーサーバーに接続します。アプリケーションサーバーは、使用中のプロトコルに基づいて一時的な AOQ 接続パラメーターを取得し、クライアントに送信します。詳細については、「トークン認証」をご参照ください。
- (int)connect:(AoqConnectConfig * _Nonnull)config;
パラメーター

パラメーター

型

説明

config

AoqConnectConfig *

接続認証設定。詳細については、AoqConnectConfig をご参照ください。

戻り値:0 は呼び出しがディスパッチされ非同期で実行されることを示します。0 以外はパラメーター検証が失敗したことを示します。

disconnect

サーバーから切断します。
- (int)disconnect;
戻り値:0 は呼び出しがディスパッチされ非同期で実行されることを示します。0 以外は失敗を示します。

オーディオデバイス管理

startAudioCapture:

音声キャプチャデバイス (マイク) を開きます。
- (int)startAudioCapture:(AoqAudioCaptureConfig * _Nonnull)config;
パラメーター

パラメーター

型

説明

config

AoqAudioCaptureConfig *

音声キャプチャ設定。詳細については、AoqAudioCaptureConfig をご参照ください。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

stopAudioCapture

音声キャプチャデバイスを閉じます。
- (int)stopAudioCapture;
戻り値:成功した場合は 0、失敗した場合は 0 以外。

muteAudioCapture:

音声キャプチャをミュートまたはミュート解除します。
- (int)muteAudioCapture:(BOOL)mute;
パラメーター

パラメーター

型

説明

mute

BOOL

YES はミュート、NO はミュート解除

戻り値:成功した場合は 0、失敗した場合は 0 以外。

startAudioPlayer:

リモート音声を再生するために音声レンダリングを開始します。
- (int)startAudioPlayer:(AoqAudioPlaybackConfig * _Nonnull)config;
パラメーター

パラメーター

型

説明

config

AoqAudioPlaybackConfig *

音声再生設定。詳細については、AoqAudioPlaybackConfig をご参照ください。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

stopAudioPlayer

音声レンダリングを停止します。
- (int)stopAudioPlayer;
戻り値:成功した場合は 0、失敗した場合は 0 以外。

pauseAudioPlayer:

音声レンダリングを一時停止します。フェードアウトがサポートされています。
- (int)pauseAudioPlayer:(NSInteger)fadeMs;
パラメーター

パラメーター

型

説明

fadeMs

NSInteger

フェードアウト時間 (ミリ秒)。0 は即時一時停止を示します。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

resumeAudioPlayer:

音声レンダリングを再開します。フェードインがサポートされています。
- (int)resumeAudioPlayer:(NSInteger)fadeMs;
パラメーター

パラメーター

型

説明

fadeMs

NSInteger

フェードイン時間 (ミリ秒)。0 は即時再開を示します。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

interruptAudioPlayer:fadeMs:

現在のオーディオセッションを中断し、現在再生中の音声を停止します。
- (int)interruptAudioPlayer:(AoqTrackType)trackType fadeMs:(NSInteger)fadeMs;
パラメーター

パラメーター

型

説明

trackType

AoqTrackType

トラックタイプ。詳細については、AoqTrackType をご参照ください。

fadeMs

NSInteger

フェードアウト時間 (ミリ秒)。0 は即時中断を示します。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

enableLocalAudioVolumeIndication:

ローカルキャプチャボリュームの通知を有効または無効にします。有効にすると、config.interval で指定された間隔で onLocalAudioVolumeIndication: コールバックがトリガーされます。config.interval <= 0 の場合、コールバックは無効になります。ボリュームデータを取得するには、startAudioCapture: の後にこのメソッドを呼び出す必要があります。
- (int)enableLocalAudioVolumeIndication:(AoqAudioVolumeIndicationConfig * _Nonnull)config;
パラメーター

パラメーター

型

説明

config

AoqAudioVolumeIndicationConfig *

ボリューム通知設定。詳細については、AoqAudioVolumeIndicationConfig をご参照ください。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

音声エンコーディング設定

setAudioEncoderConfig:

音声エンコーディングパラメーターを設定します。
- (int)setAudioEncoderConfig:(AoqAudioCodecConfig * _Nonnull)config;
パラメーター

パラメーター

型

説明

config

AoqAudioCodecConfig *

音声コーデック設定。詳細については、AoqAudioCodecConfig をご参照ください。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

setAudioDecoderConfig:

音声デコーディングパラメーターを設定します。
- (int)setAudioDecoderConfig:(AoqAudioCodecConfig * _Nonnull)config;
パラメーター

パラメーター

型

説明

config

AoqAudioCodecConfig *

音声コーデック設定。詳細については、AoqAudioCodecConfig をご参照ください。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

ビデオデバイス管理

startVideoCapture:

ビデオキャプチャデバイス (カメラ) を開きます。isExternal=YES が設定されている場合、カメラは開かれず、フレームは pushExternalVideoCapturedFrame:frame: によって供給されます。
- (int)startVideoCapture:(AoqVideoCaptureConfig * _Nonnull)config;
パラメーター

パラメーター

型

説明

config

AoqVideoCaptureConfig *

ビデオキャプチャ設定。詳細については、AoqVideoCaptureConfig をご参照ください。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

stopVideoCapture

ビデオキャプチャデバイスを閉じます。
- (int)stopVideoCapture;
戻り値:成功した場合は 0、失敗した場合は 0 以外。

setLocalView:canvas:

ローカルビデオレンダリングウィンドウを設定または削除します。canvas に nil を渡すか、canvas.view が nil の場合、バインディングは削除されます。
- (int)setLocalView:(AoqTrackType)trackType canvas:(AoqVideoCanvas * _Nullable)canvas;
パラメーター

パラメーター

型

説明

trackType

AoqTrackType

ビデオトラック。AoqTrackTypeVideo を渡します。

canvas

AoqVideoCanvas *

レンダリングキャンバス。詳細については、AoqVideoCanvas をご参照ください。バインディングを削除するには nil を渡します。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

setRemoteView:canvas:

リモートビデオレンダリングウィンドウを設定または削除します。canvas に nil を渡すか、canvas.view が nil の場合、バインディングは削除されます。
- (int)setRemoteView:(AoqTrackType)trackType canvas:(AoqVideoCanvas * _Nullable)canvas;
パラメーター

パラメーター

型

説明

trackType

AoqTrackType

ビデオトラック。AoqTrackTypeVideo を渡します。

canvas

AoqVideoCanvas *

レンダリングキャンバス。詳細については、AoqVideoCanvas をご参照ください。バインディングを削除するには nil を渡します。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

ビデオエンコーディングと外部入力

setVideoEncoderConfig:

ビデオエンコーディングパラメーターを設定し、config.trackType に基づいてルーティングします。
- (int)setVideoEncoderConfig:(AoqVideoCodecConfig * _Nonnull)config;
パラメーター

パラメーター

型

説明

config

AoqVideoCodecConfig *

ビデオコーデック設定。詳細については、AoqVideoCodecConfig をご参照ください。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

setVideoDecoderConfig:

ビデオデコーディングパラメーターを設定します (サブスクライブ側のコーデック提案であり、connect: の前に呼び出す必要があります)。呼び出しは config.trackType に基づいてルーティングされます。
- (int)setVideoDecoderConfig:(AoqVideoCodecConfig * _Nonnull)config;
パラメーター

パラメーター

型

説明

config

AoqVideoCodecConfig *

ビデオコーデック設定。詳細については、AoqVideoCodecConfig をご参照ください。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

pushExternalVideoCapturedFrame:frame:

外部ビデオフレームをプッシュします。まず startVideoCapture: を呼び出し、isExternal=YES を設定する必要があります。外部ビデオキャプチャが開始されていないか、フォーマットがサポートされていない場合、AoqECParamInvalid が返されます。
- (int)pushExternalVideoCapturedFrame:(AoqTrackType)trackType
                                frame:(AoqVideoFrame * _Nonnull)frame;
パラメーター

パラメーター

型

説明

trackType

AoqTrackType

ルーティングターゲット。AoqTrackTypeVideo を渡します。

frame

AoqVideoFrame *

外部ビデオフレームデータ。詳細については、AoqVideoFrame をご参照ください。

戻り値:成功した場合は 0、AoqECVideoExternalBufferFull (210) はバッファーがいっぱいであることを示します。0 未満の値は別のエラーを示します。

pushExternalVideoEncodedFrame:frame:

外部でエンコードされたビデオフレームを直接プッシュし、エンコーダーをバイパスします。まず setVideoEncoderConfig: を呼び出し、isExternal=YES を設定する必要があります。現在、JPEG のみがサポートされています。
- (int)pushExternalVideoEncodedFrame:(AoqTrackType)trackType
                               frame:(AoqVideoEncodedFrame * _Nonnull)frame;
パラメーター

パラメーター

型

説明

trackType

AoqTrackType

ルーティングターゲット。AoqTrackTypeVideo を渡します。

frame

AoqVideoEncodedFrame *

外部でエンコードされたフレームデータ。詳細については、AoqVideoEncodedFrame をご参照ください。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

メディアストリーム制御

enableSendMediaStream:enable:

ローカルメディアストリームの送信を有効または無効にします。初期化後に送信を無効にし、onConnectionStatusChange: コールバックが AoqConnectionStatusConnected を報告した後にのみ有効にすることを推奨します。
- (int)enableSendMediaStream:(AoqTrackType)trackType enable:(BOOL)enable;
パラメーター

パラメーター

型

説明

trackType

AoqTrackType

ルーティングターゲット。AoqTrackTypeAudio と AoqTrackTypeVideo がサポートされています。

enable

BOOL

YES は送信を有効にし、NO は送信を無効にします

戻り値:0 は呼び出しがディスパッチされ非同期で実行されることを示します。0 以外は失敗を示します。

音声ファイルの再生

startAudioFile:config:

パブリッシングストリームへのローカル音声ファイルの再生を開始します。
- (int)startAudioFile:(NSString * _Nonnull)fileId
               config:(AoqAudioFileMixConfig * _Nonnull)config;
パラメーター

パラメーター

型

説明

fileId

NSString *

音声ファイル ID。ビジネスレイヤーで一意性を保証する必要があります。

config

AoqAudioFileMixConfig *

音声ファイルミキシング設定。詳細については、AoqAudioFileMixConfig をご参照ください。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

stopAudioFile:

音声ファイルの再生を停止します。
- (int)stopAudioFile:(NSString * _Nonnull)fileId;
パラメーター

パラメーター

型

説明

fileId

NSString *

音声ファイル ID

戻り値:成功した場合は 0、失敗した場合は 0 以外。

pauseAudioFile:

音声ファイルの再生を一時停止します。
- (int)pauseAudioFile:(NSString * _Nonnull)fileId;
パラメーター

パラメーター

型

説明

fileId

NSString *

音声ファイル ID

戻り値:成功した場合は 0、失敗した場合は 0 以外。

resumeAudioFile:

音声ファイルの再生を再開します。
- (int)resumeAudioFile:(NSString * _Nonnull)fileId;
パラメーター

パラメーター

型

説明

fileId

NSString *

音声ファイル ID

戻り値:成功した場合は 0、失敗した場合は 0 以外。

getAudioFileDuration:

音声ファイルの総持続時間を取得します。
- (long long)getAudioFileDuration:(NSString * _Nonnull)fileId;
パラメーター

パラメーター

型

説明

fileId

NSString *

音声ファイル ID

戻り値:0 以上の値は音声ファイルの持続時間 (ミリ秒) を示します。0 未満の値は失敗を示します。

getAudioFileCurrentPosition:

音声ファイルの現在の再生位置を取得します。
- (long long)getAudioFileCurrentPosition:(NSString * _Nonnull)fileId;
パラメーター

パラメーター

型

説明

fileId

NSString *

音声ファイル ID

戻り値:0 以上の値は現在の再生位置 (ミリ秒) を示します。0 未満の値は失敗を示します。

setAudioFilePositionMillis:positionMillis:

音声ファイルの再生位置を設定します (シーク)。
- (int)setAudioFilePositionMillis:(NSString * _Nonnull)fileId
                  positionMillis:(long long)positionMillis;
パラメーター

パラメーター

型

説明

fileId

NSString *

音声ファイル ID

positionMillis

long long

再生位置 (ミリ秒)

戻り値:成功した場合は 0、失敗した場合は 0 以外。

setAudioFileVolume:type:volume:

音声ファイルのボリュームを設定します。
- (int)setAudioFileVolume:(NSString * _Nonnull)fileId
                     type:(AoqAudioStreamDirection)type
                   volume:(NSInteger)volume;
パラメーター

パラメーター

型

説明

fileId

NSString *

音声ファイル ID

type

AoqAudioStreamDirection

音声ストリームの方向。詳細については、AoqAudioStreamDirection をご参照ください。

volume

NSInteger

ボリューム値。有効な値:0~100。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

getAudioFileVolume:type:

音声ファイルの現在のボリュームを取得します。
- (int)getAudioFileVolume:(NSString * _Nonnull)fileId
                     type:(AoqAudioStreamDirection)type;
パラメーター

パラメーター

型

説明

fileId

NSString *

音声ファイル ID

type

AoqAudioStreamDirection

音声ストリームの方向。詳細については、AoqAudioStreamDirection をご参照ください。

戻り値:0~100 の値はボリュームを示します。0 未満の値は失敗を示します。

外部音声ストリーム

addAudioExternalStream:config:

外部音声ストリームを追加します。
- (int)addAudioExternalStream:(NSString * _Nonnull)streamId
                       config:(AoqAudioExternalStreamConfig * _Nonnull)config;
パラメーター

パラメーター

型

説明

streamId

NSString *

外部音声ストリーム ID。ビジネスレイヤーで一意性を保証する必要があります。

config

AoqAudioExternalStreamConfig *

外部音声ストリーム設定。詳細については、AoqAudioExternalStreamConfig をご参照ください。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

pushAudioExternalStreamData:data:

外部音声 PCM データを供給します。AoqECAudioExternalBufferFull (110) が返された場合、SDK バッファーがいっぱいであることを示します。約 20 ms 待ってから現在のデータフレームを再送することを推奨します。
- (int)pushAudioExternalStreamData:(NSString * _Nonnull)streamId
                              data:(AoqAudioFrameData * _Nonnull)data;
パラメーター

パラメーター

型

説明

streamId

NSString *

外部音声ストリーム ID

data

AoqAudioFrameData *

RAW 外部音声データ。詳細については、AoqAudioFrameData をご参照ください。

戻り値:成功した場合は 0、失敗した場合は 0 以外。
ベストプラクティス:リアルタイムキャプチャのシナリオでは、一度に 10 ms のデータをプッシュし、データが利用可能になるたびにプッシュします。データがファイルからのものである場合は、30 ms の間隔で一度に 40 ms のデータをプッシュし、AoqECAudioExternalBufferFull の戻り値を処理してください。

setAudioExternalStreamVolume:type:volume:

外部音声ストリームのボリュームを設定します。
- (int)setAudioExternalStreamVolume:(NSString * _Nonnull)streamId
                               type:(AoqAudioStreamDirection)type
                             volume:(NSInteger)volume;
パラメーター

パラメーター

型

説明

streamId

NSString *

外部音声ストリーム ID

type

AoqAudioStreamDirection

外部音声ストリームタイプ。詳細については、AoqAudioStreamDirection をご参照ください。

volume

NSInteger

ボリューム値。有効な値:0~100。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

getAudioExternalStreamVolume:type:

外部音声ストリームのボリュームを取得します。
- (int)getAudioExternalStreamVolume:(NSString * _Nonnull)streamId
                               type:(AoqAudioStreamDirection)type;
パラメーター

パラメーター

型

説明

streamId

NSString *

外部音声ストリーム ID

type

AoqAudioStreamDirection

外部音声ストリームタイプ。詳細については、AoqAudioStreamDirection をご参照ください。

戻り値:0~100 の値はボリュームを示します。0 未満の値は失敗を示します。

clearAudioExternalStreamBuffer:fadeoutMs:

外部音声ストリームのバッファーをクリアします。
- (void)clearAudioExternalStreamBuffer:(NSString * _Nonnull)streamId
                              fadeoutMs:(NSInteger)fadeoutMs;
パラメーター

パラメーター

型

説明

streamId

NSString *

外部音声ストリーム ID

fadeoutMs

NSInteger

フェードアウト時間。-1 は SDK のデフォルトのフェードアウトを使用し、0 はフェードアウトなしですべてをクリアし、0 より大きい値は指定されたミリ秒数のフェードアウトを維持します。

戻り値:なし。

removeAudioExternalStream:

外部音声ストリームを削除します。
- (int)removeAudioExternalStream:(NSString * _Nonnull)streamId;
パラメーター

パラメーター

型

説明

streamId

NSString *

外部音声ストリーム ID

戻り値:成功した場合は 0、失敗した場合は 0 以外。

リアルタイムメッセージング

sendDataMsg:

リアルタイムデータメッセージを送信します。
- (int)sendDataMsg:(AoqDataMsg * _Nonnull)msg;
パラメーター

パラメーター

型

説明

msg

AoqDataMsg *

メッセージ内容。詳細については、AoqDataMsg をご参照ください。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

音声フレームコールバック

setAudioFrameObserver:

音声フレームデータコールバックのデリゲートを設定します。nil を渡すとコールバックが停止します。デリゲートを設定した後、enableAudioFrameObserver:audioSource:config: を呼び出して、対応するデータソースのコールバックを有効にします。
- (int)setAudioFrameObserver:(id<AoqAudioFrameDelegate> _Nullable)delegate;
パラメーター

パラメーター

型

説明

delegate

id<AoqAudioFrameDelegate>

音声フレームコールバックのデリゲート。詳細については、AoqAudioFrameDelegate をご参照ください。コールバックを停止するには nil を渡します。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

enableAudioFrameObserver:audioSource:config:

指定された位置での音声フレームコールバックを有効または無効にします。
- (int)enableAudioFrameObserver:(BOOL)enabled
                   audioSource:(AoqAudioSource)audioSource
                        config:(AoqAudioObserverConfig * _Nonnull)config;
パラメーター

パラメーター

型

説明

enabled

BOOL

データコールバックを許可するかどうかを指定します

audioSource

AoqAudioSource

RAW 音声データのソースタイプ。詳細については、AoqAudioSource をご参照ください。

config

AoqAudioObserverConfig *

コールバックパラメーター設定。詳細については、AoqAudioObserverConfig をご参照ください。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

ビデオフレームコールバック

setVideoFrameObserver:

ビデオフレームデータコールバックのデリゲートを設定します。nil を渡すとコールバックが停止します。デリゲートを設定した後、enableVideoFrameObserver:videoSource:config: を呼び出して、対応するデータソースのコールバックを有効にします。
- (int)setVideoFrameObserver:(id<AoqVideoFrameDelegate> _Nullable)delegate;
パラメーター

パラメーター

型

説明

delegate

id<AoqVideoFrameDelegate>

ビデオフレームコールバックのデリゲート。詳細については、AoqVideoFrameDelegate をご参照ください。コールバックを停止するには nil を渡します。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

enableVideoFrameObserver:videoSource:config:

指定された位置でのビデオフレームコールバックを有効または無効にします。
- (int)enableVideoFrameObserver:(BOOL)enabled
                    videoSource:(AoqVideoSource)videoSource
                         config:(AoqVideoObserverConfig * _Nonnull)config;
パラメーター

パラメーター

型

説明

enabled

BOOL

位置でのデータコールバックを有効にするかどうかを指定します

videoSource

AoqVideoSource

ビデオフレームコールバックのデータソース (パイプライン内の位置)。詳細については、AoqVideoSource をご参照ください。

config

AoqVideoObserverConfig *

コールバックパラメーター設定。詳細については、AoqVideoObserverConfig をご参照ください。

戻り値:成功した場合は 0、失敗した場合は 0 以外。

コールバック

AoqEngineDelegate

AoqEngineDelegate は、SDK からのすべての非同期イベント通知の統一されたエントリポイントです。createEngine:delegate: を呼び出すときに渡されます。すべてのコールバックメソッドは @required です。状態遷移:Disconnected → Connecting → Connected/Failed → Disconnected。

onError:message:

エンジンエラーコールバック。
- (void)onError:(NSInteger)code message:(NSString * _Nonnull)message;
パラメーター

パラメーター

型

説明

code

NSInteger

エラーコード。詳細については、AoqErrorCode をご参照ください。

message

NSString *

エラーの説明

onWarning:message:

エンジン警告コールバック。
- (void)onWarning:(NSInteger)code message:(NSString * _Nonnull)message;
パラメーター

パラメーター

型

説明

code

NSInteger

警告コード。詳細については、AoqWarningCode をご参照ください。

message

NSString *

警告の説明

onConnectionStatusChange:

エンジン接続ステータス変更コールバック。
- (void)onConnectionStatusChange:(AoqConnectionStatus)status;
パラメーター

パラメーター

型

説明

status

AoqConnectionStatus

接続ステータス。詳細については、AoqConnectionStatus をご参照ください。

onStats:

エンジン統計コールバック。
- (void)onStats:(AoqStats * _Nonnull)stats;
パラメーター

パラメーター

型

説明

stats

AoqStats *

統計データ。詳細については、AoqStats をご参照ください。

onAudioDeviceStateChanged:

オーディオデバイスのキャプチャおよび再生操作ステータス変更のコールバック。
- (void)onAudioDeviceStateChanged:(AoqAudioDeviceState * _Nonnull)state;
パラメーター

パラメーター

型

説明

state

AoqAudioDeviceState *

オーディオデバイスの状態。詳細については、AoqAudioDeviceState をご参照ください。

onAudioDeviceRouteChanged:

音声出力ルート変更コールバック。
- (void)onAudioDeviceRouteChanged:(NSInteger)routeType;
パラメーター

パラメーター

型

説明

routeType

NSInteger

ルートタイプ。有効な値については、AoqAudioDeviceRouteType をご参照ください。

onAudioFileState:

音声ファイル再生ステータスのコールバック。
- (void)onAudioFileState:(AoqAudioFileState * _Nonnull)state;
パラメーター

パラメーター

型

説明

state

AoqAudioFileState *

ファイル再生状態。詳細については、AoqAudioFileState をご参照ください。

onLocalAudioVolumeIndication:

ローカルキャプチャボリューム通知コールバック。有効にするには、enableLocalAudioVolumeIndication: を呼び出します。
- (void)onLocalAudioVolumeIndication:(AoqAudioVolume * _Nonnull)volume;
パラメーター

パラメーター

型

説明

volume

AoqAudioVolume *

ローカルボリューム情報。詳細については、AoqAudioVolume をご参照ください。

onVideoDeviceStateChanged:

ビデオデバイスキャプチャ操作ステータス変更のコールバック。
- (void)onVideoDeviceStateChanged:(AoqVideoDeviceState * _Nonnull)state;
パラメーター

パラメーター

型

説明

state

AoqVideoDeviceState *

ビデオデバイスの状態。詳細については、AoqVideoDeviceState をご参照ください。

onDataMsg:

受信したリアルタイムデータメッセージのコールバック。
- (void)onDataMsg:(AoqDataMsg * _Nonnull)msg;
パラメーター

パラメーター

型

説明

msg

AoqDataMsg *

データメッセージ。詳細については、AoqDataMsg をご参照ください。

AoqAudioFrameDelegate

音声フレームデータコールバックのプロトコルです。すべてのメソッドは @optional です。コールバック内で時間のかかる操作を実行しないでください。実行した場合、音声の異常が発生する可能性があります。

onCapturedAudioFrame:

キャプチャされた RAW データのコールバック。有効にするには、enableAudioFrameObserver: を呼び出し、audioSource = AoqAudioSourceCaptured を設定します。サンプルレートとチャンネル数を設定でき、読み書きモードがサポートされています。
- (void)onCapturedAudioFrame:(AoqAudioFrameData * _Nonnull)frame;
パラメーター

パラメーター

型

説明

frame

AoqAudioFrameData *

キャプチャされた RAW 音声データ。詳細については、AoqAudioFrameData をご参照ください。

onProcessCapturedAudioFrame:

3A 処理後のデータのコールバック。有効にするには、enableAudioFrameObserver: を呼び出し、audioSource = AoqAudioSourceProcessCaptured を設定します。サンプルレートとチャンネル数を設定でき、読み書きモードがサポートされています。
- (void)onProcessCapturedAudioFrame:(AoqAudioFrameData * _Nonnull)frame;
パラメーター

パラメーター

型

説明

frame

AoqAudioFrameData *

3A 処理後の RAW 音声データ。詳細については、AoqAudioFrameData をご参照ください。

onPublishAudioFrame:frame:

パブリッシュデータのコールバック。有効にするには、enableAudioFrameObserver: を呼び出し、audioSource = AoqAudioSourcePublish を設定します。サンプルレートとチャンネル数を設定でき、読み取り専用モードのみがサポートされています。
- (void)onPublishAudioFrame:(AoqTrackType)trackType
                      frame:(AoqAudioFrameData * _Nonnull)frame;
パラメーター

パラメーター

型

説明

trackType

AoqTrackType

トラックタイプ。詳細については、AoqTrackType をご参照ください。

frame

AoqAudioFrameData *

パブリッシュされる RAW 音声データ。詳細については、AoqAudioFrameData をご参照ください。

onPlaybackAudioFrame:

再生データのコールバック。有効にするには、enableAudioFrameObserver: を呼び出し、audioSource = AoqAudioSourcePlayback を設定します。サンプルレートとチャンネル数を設定でき、読み書きモードがサポートされています。
- (void)onPlaybackAudioFrame:(AoqAudioFrameData * _Nonnull)frame;
パラメーター

パラメーター

型

説明

frame

AoqAudioFrameData *

再生用の RAW 音声データ。詳細については、AoqAudioFrameData をご参照ください。

AoqVideoFrameDelegate

ビデオフレームデータコールバックのプロトコルです。すべてのメソッドは @optional です。コールバック内で時間のかかる操作を実行しないでください。実行した場合、映像のコマ落ちが発生する可能性があります。YES を返すと、データが変更され、SDK に書き戻す必要があることを示します。書き戻しは I420 と CVPixelBuffer のみで有効です。NO を返すと、読み取り専用であることを示します。frame 内のデータはコールバック中のみ有効です。非同期で使用するには、ご自身でコピーを作成してください。

onCapturedVideoFrame:

キャプチャ後、前処理前のローカル RAW データのコールバック。有効にするには、enableVideoFrameObserver: を呼び出し、videoSource = AoqVideoSourceCaptured を設定します。
- (BOOL)onCapturedVideoFrame:(AoqVideoFrame * _Nonnull)frame;
パラメーター

パラメーター

型

説明

frame

AoqVideoFrame *

キャプチャされたビデオフレームデータ。詳細については、AoqVideoFrame をご参照ください。

戻り値:YES はデータが変更され、SDK に書き戻す必要があることを示します。NO は読み取り専用を示します。

onPreEncodeVideoFrame:frame:

エンコード前、前処理後のローカル RAW データのコールバック。有効にするには、enableVideoFrameObserver: を呼び出し、videoSource = AoqVideoSourcePreEncode を設定します。
- (BOOL)onPreEncodeVideoFrame:(AoqTrackType)trackType
                        frame:(AoqVideoFrame * _Nonnull)frame;
パラメーター

パラメーター

型

説明

trackType

AoqTrackType

ビデオトラックタイプ。詳細については、AoqTrackType をご参照ください。

frame

AoqVideoFrame *

エンコード前のビデオフレームデータ。詳細については、AoqVideoFrame をご参照ください。

戻り値:YES はデータが変更され、SDK に書き戻す必要があることを示します。NO は読み取り専用を示します。

onRemoteVideoFrame:frame:

デコード後、レンダリング前のリモート RAW データのコールバック。有効にするには、enableVideoFrameObserver: を呼び出し、videoSource = AoqVideoSourceRemote を設定します。
- (BOOL)onRemoteVideoFrame:(AoqTrackType)trackType
                     frame:(AoqVideoFrame * _Nonnull)frame;
パラメーター

パラメーター

型

説明

trackType

AoqTrackType

ビデオトラックタイプ。詳細については、AoqTrackType をご参照ください。

frame

AoqVideoFrame *

リモートビデオフレームデータ。詳細については、AoqVideoFrame をご参照ください。

戻り値:YES はデータが変更され、SDK に書き戻す必要があることを示します。NO は読み取り専用を示します。

データ型と列挙型

一般タイプ

AoqCreateConfig

エンジン作成設定。

フィールド

型

デフォルト値

説明

workDir

NSString *

""

SDK の作業ディレクトリ

enableDumpAudio

BOOL

NO

RAW 音声データのダンプを有効にするかどうかを指定します (デバッグ用)

extras

NSString *

""

拡張パラメーター

AoqConnectConfig

リレーサーバーへの接続設定。

フィールド

型

説明

token

NSString *

接続認証トークン

sid

NSString *

セッション ID

certFingerprint

NSString *

サーバー証明書の指紋

relayEndpoints

NSArray<AoqRelayEndpoint *> *

リレーアクセスポイントのリスト

workspaceIdHash

NSString *

ワークスペースのハッシュ ID

publishTracks

NSArray<AoqTrackParam *> *

ローカルパブリッシングトラック属性の配列

subscribeTracks

NSArray<AoqTrackParam *> *

ローカルサブスクライブトラック属性の配列

AoqRelayEndpoint

リレーアクセスポイント。

フィールド

型

デフォルト値

説明

routeIndex

NSInteger

-1

パスインデックス

endpoint

NSString *

""

サーバーアドレス (ドメイン名または IP アドレス)

port

NSInteger

0

サーバーポート

AoqTrackParam

トラック属性。

フィールド

型

デフォルト値

説明

trackType

AoqTrackType

Audio

トラックタイプ

trackMode

AoqTrackMode

Segment

ストリーミングモードまたは非ストリーミングモード。音声ダウンリンクにのみ有効です。

AoqDataMsg

リアルタイムメッセージのデータ構造。

フィールド

型

説明

data

NSData *

メッセージ内容。呼び出し元が保持するメモリを指します。

統計タイプ

AoqStats

エンジン統計。

フィールド

型

説明

audioPublishStats

NSArray<AoqAudioPublishStats *> *

音声のパブリッシング統計の配列

videoPublishStats

NSArray<AoqVideoPublishStats *> *

ビデオのパブリッシング統計の配列

dataMsgPublishStats

NSArray<AoqDataMsgPublishStats *> *

データメッセージのパブリッシング統計の配列

audioSubscribeStats

NSArray<AoqAudioSubscribeStats *> *

音声のサブスクライブ統計の配列

videoSubscribeStats

NSArray<AoqVideoSubscribeStats *> *

ビデオのサブスクライブ統計の配列

dataMsgSubscribeStats

NSArray<AoqDataMsgSubscribeStats *> *

データメッセージのサブスクライブ統計の配列

networkStats

AoqNetworkStats *

ネットワーク統計

AoqNetworkStats

ネットワーク統計。

フィールド

型

説明

sendBitrate

NSUInteger

送信ビットレート (bit/s)

sendBytes

NSUInteger

累積送信バイト数

recvBitrate

NSUInteger

受信ビットレート (bit/s)

recvBytes

NSUInteger

累積受信バイト数

loss

NSUInteger

パケット損失率 (0~100)

rtt

NSUInteger

ラウンドトリップ遅延 (ms)

AoqAudioPublishStats

音声のパブリッシング統計。

フィールド

型

説明

trackType

AoqTrackType

トラックタイプ

bitrate

NSUInteger

ビットレート (bit/s)

bytes

NSUInteger

累積バイト数

encodeVolume

NSUInteger

パブリッシングストリームのエンコーディングボリューム

AoqVideoPublishStats

ビデオのパブリッシング統計。

フィールド

型

説明

trackType

AoqTrackType

トラックタイプ

bitrate

NSUInteger

ビットレート (bit/s)

bytes

NSUInteger

累積バイト数

encodeFps

NSUInteger

エンコーディングフレームレート

AoqDataMsgPublishStats

データメッセージのパブリッシング統計。

フィールド

型

説明

trackType

AoqTrackType

トラックタイプ

bitrate

NSUInteger

ビットレート (bit/s)

bytes

NSUInteger

累積バイト数

AoqAudioSubscribeStats

音声のサブスクライブ統計。

フィールド

型

説明

trackType

AoqTrackType

トラックタイプ

bitrate

NSUInteger

ビットレート (bit/s)

bytes

NSUInteger

累積バイト数

playVolume

NSUInteger

再生ボリューム

AoqVideoSubscribeStats

ビデオのサブスクライブ統計。

フィールド

型

説明

trackType

AoqTrackType

トラックタイプ

bitrate

NSUInteger

ビットレート (bit/s)

bytes

NSUInteger

累積バイト数

decodeFps

NSUInteger

デコーディングフレームレート

renderFps

NSUInteger

レンダリングフレームレート

AoqDataMsgSubscribeStats

データメッセージのサブスクライブ統計。

フィールド

型

説明

trackType

AoqTrackType

トラックタイプ

bitrate

NSUInteger

ビットレート (bit/s)

bytes

NSUInteger

累積バイト数

列挙型

AoqErrorCode

エラーコード列挙。

列挙値

値

説明

AoqECOK

0

成功

AoqECParamInvalid

1

無効なパラメーター

AoqECStateInvalid

2

無効な状態

AoqECUnSupport

3

API はサポートされていません

AoqECAudio

100

一般的な音声エラー

AoqECAudioExternalBufferFull

110

外部音声バッファーがいっぱいです

AoqECAudioDevice

120

一般的なオーディオデバイスエラー

AoqECAudioDeviceRecordingAuthFailed

121

録音権限が付与されていません

AoqECAudioDeviceRecordingOccupied

122

録音デバイスが使用中です

AoqECAudioDeviceRecordingBackgroundStart

123

バックグラウンドで録音を開始

AoqECAudioDeviceRecordingStartFail

124

録音の開始に失敗しました

AoqECAudioDevicePlayoutOccupied

125

再生デバイスが使用中です

AoqECAudioDevicePlayoutBackgroundStart

126

バックグラウンドで再生を開始

AoqECAudioDevicePlayoutStartFail

127

再生の開始に失敗しました

AoqECVideo

200

一般的なビデオエラー

AoqECVideoExternalBufferFull

210

外部ビデオバッファーがいっぱいです

AoqECVideoExternalCaptureNotEnabled

211

外部ビデオキャプチャが有効になっていません

AoqECVideoExternalEncoderNotEnabled

212

外部ビデオエンコーディングが有効になっていません

AoqECVideoDevice

220

一般的なビデオデバイスエラー

AoqECVideoDeviceCameraOpenFail

221

カメラのオープンに失敗しました

AoqECVideoDeviceCameraAuthFailed

222

カメラ権限が付与されていません

AoqECVideoDeviceCameraOccupied

223

カメラが使用中です

AoqECVideoDeviceCameraRunningError

224

カメラの実行時エラー

AoqECVideoCodec

230

一般的なビデオコーデックエラー

AoqECVideoCodecEncoderInitFail

231

エンコーダーの初期化に失敗しました

AoqECVideoRender

240

一般的なビデオレンダリングエラー

AoqECVideoRenderCreateFail

241

レンダリングビューの作成に失敗しました

AoqECVideoRenderDrawError

242

レンダリング描画エラー

AoqWarningCode

警告コード列挙。

列挙値

値

説明

AoqWCOK

0

警告なし

AoqWCAudio

100

一般的な音声警告

AoqWCAudioHowling

101

音声ハウリングが検出されました

AoqWCAudioDevice

120

一般的なオーディオデバイス警告

AoqWCAudioDeviceMicEnumerateError

121

マイク列挙エラー

AoqWCAudioDeviceMicStartTimeout

122

マイクの起動がタイムアウトしました

AoqWCAudioDeviceRecordingError

123

録音エラー

AoqWCAudioDeviceSpeakerEnumerateError

124

スピーカー列挙エラー

AoqWCAudioDeviceSpeakerStartTimeout

125

スピーカーの起動がタイムアウトしました

AoqWCAudioDevicePlayoutError

126

再生エラー

AoqWCVideo

200

一般的なビデオ警告

AoqWCVideoCameraEnumerateError

201

カメラ列挙エラー

AoqWCVideoEncoderSwitched

202

ビデオエンコーダーが切り替わりました

AoqWCVideoRenderDowngrade

203

ビデオレンダリングがスペックダウンしました

AoqTrackType

トラックタイプ。

列挙値

値

説明

AoqTrackTypeAudio

0

オーディオトラック

AoqTrackTypeVideo

1

ビデオトラック

AoqTrackTypeData

2

データメッセージトラック

AoqEncoderType

エンコーダータイプ。

列挙値

値

説明

AoqEncoderTypeUnknown

0

不明なフォーマット

AoqEncoderTypeAudioPCM

1

音声 PCM

AoqEncoderTypeAudioOpus

2

音声 Opus

AoqEncoderTypeVideoH264

3

ビデオ H.264

AoqEncoderTypeVideoJpeg

4

ビデオ JPEG

AoqEncoderTypeDataText

5

メッセージテキスト

AoqTrackMode

ストリーミングモードまたは非ストリーミングモード。音声ダウンリンクにのみ有効です。

列挙値

値

説明

AoqTrackModeSegment

0

セグメント化:データは文などの意味的なセグメントにパッケージ化されて配信されます。

AoqTrackModeStream

1

ストリーミング:データは連続的に配信されます。

AoqConnectionStatus

エンジン接続ステータス。

列挙値

値

説明

AoqConnectionStatusDisconnected

0

切断済み

AoqConnectionStatusConnecting

1

接続中

AoqConnectionStatusConnected

2

接続済み

AoqConnectionStatusFailed

3

接続失敗

音声タイプ

AoqAudioCaptureConfig

音声キャプチャ設定。

フィールド

型

デフォルト値

説明

isExternal

BOOL

NO

外部キャプチャを使用するかどうかを指定します

channel

NSInteger

1

音声キャプチャチャンネル数。1 と 2 がサポートされています。

AoqAudioPlaybackConfig

音声再生設定。

フィールド

型

デフォルト値

説明

isExternal

BOOL

NO

外部再生を使用するかどうかを指定します

channel

NSInteger

1

音声再生チャンネル数。1 と 2 がサポートされています。

AoqAudioCodecConfig

音声コーデック設定。

フィールド

型

デフォルト値

説明

trackType

AoqTrackType

Audio

トラックタイプ

codecType

AoqEncoderType

AudioPCM

コーデックフォーマット

sampleRate

NSInteger

48000

サンプルレート (Hz)

channel

NSInteger

1

チャンネル数

bitrate

NSInteger

32000

ビットレート (bit/s)

AoqAudioDeviceState

オーディオデバイスの状態。

フィールド

型

説明

state

AoqAudioDeviceStateCode

ステータスコード

reason

NSInteger

エラーコード (AoqErrorCode)

AoqAudioDeviceStateCode

オーディオデバイスのステータスコード。

列挙値

値

説明

AoqAudioDeviceNone

0

状態なし

AoqAudioDeviceRecordStarting

1

キャプチャ開始中

AoqAudioDeviceRecordStarted

2

キャプチャ開始済み

AoqAudioDeviceRecordStopping

3

キャプチャ停止中

AoqAudioDeviceRecordStopped

4

キャプチャ停止済み

AoqAudioDeviceRecordFail

5

キャプチャ失敗

AoqAudioDevicePlayStarting

6

再生開始中

AoqAudioDevicePlayStarted

7

再生開始済み

AoqAudioDevicePlayStopping

8

再生停止中

AoqAudioDevicePlayStopped

9

再生停止済み

AoqAudioDevicePlayFail

10

再生失敗

AoqAudioDeviceRouteType

オーディオデバイスルートタイプ。

列挙値

値

説明

AoqAudioDeviceRouteDefault

0

デフォルト

AoqAudioDeviceRouteHeadset

1

ヘッドフォン

AoqAudioDeviceRouteEarpiece

2

受話器

AoqAudioDeviceRouteHeadsetNoMic

3

マイクなしヘッドフォン

AoqAudioDeviceRouteSpeakerPhone

4

内蔵スピーカー

AoqAudioDeviceRouteUsb

5

USB

AoqAudioDeviceRouteBluetooth

6

Bluetooth

AoqAudioDeviceRouteBluetoothA2dp

7

Bluetooth A2DP

AoqAudioFileMixConfig

パブリッシングストリームへの音声ファイルの再生設定。

フィールド

型

デフォルト値

説明

fileName

NSString *

-

ファイル名 (パスを含む)。必須。

cycles

NSInteger

-1

ループ回数。-1 は無制限ループを示します。

startPosMs

NSInteger

0

再生開始位置 (ms)

publishVolume

NSInteger

100

パブリッシングボリューム。有効な値:0~100。

playoutVolume

NSInteger

100

再生ボリューム。有効な値:0~100。

AoqAudioFileState

音声ファイルの状態。

フィールド

型

説明

fileId

NSString *

ファイル ID

stateCode

AoqAudioFileStateCode

ステータスコード

errorCode

AoqAudioFileErrorCode

エラーコード

AoqAudioFileStateCode

音声ファイルのステータスコード。

列挙値

値

説明

AoqAudioFileNone

0

状態なし

AoqAudioFileStarted

1

開始済み

AoqAudioFileStopped

2

停止済み

AoqAudioFilePaused

3

一時停止

AoqAudioFileResumed

4

再開済み

AoqAudioFileEnded

5

再生完了

AoqAudioFileBuffering

6

バッファリング中

AoqAudioFileBufferingEnd

7

バッファリング終了

AoqAudioFileFailed

8

再生失敗

AoqAudioFileErrorCode

音声ファイル再生エラーコード。

列挙値

値

説明

AoqAudioFileNoError

0

エラーなし

AoqAudioFileOpenFailed

1

ファイルのオープンに失敗しました

AoqAudioFileDecodeFailed

2

ファイルのデコードに失敗しました

AoqAudioExternalStreamConfig

外部音声ストリーム設定。

フィールド

型

デフォルト値

説明

trackType

AoqTrackType

Audio

オーディオトラックタイプ

codecType

AoqEncoderType

AudioPCM

音声ストリームフォーマット。PCM がサポートされています。

channels

NSInteger

1

チャンネル数

sampleRate

NSInteger

48000

サンプルレート (Hz)

playoutVolume

NSInteger

100

再生ボリューム。有効な値:0~100。

publishVolume

NSInteger

100

パブリッシングボリューム。有効な値:0~100。

maxBufferDuration

NSInteger

1000

最大バッファー時間 (ms)

enable3A

BOOL

NO

入力 PCM に 3A 処理を適用するかどうかを指定します

AoqAudioFrameData

外部音声データ。

フィールド

型

説明

dataPtr

void *

RAW 音声 PCM データへのポインター

dataSize

NSInteger

PCM データのバイト数

numOfSamples

NSInteger

サンプル数 (チャンネルあたり)

bytesPerSample

NSInteger

サンプルあたりのバイト数

numOfChannels

NSInteger

チャンネル数

samplesPerSec

NSInteger

1 秒あたりのサンプル数

pushSequence

int32_t

PCM 入力ラウンド

timeStamp

int64_t

タイムスタンプ

autoGenMute

BOOL

データコールバックで有効。YES は SDK が生成した無音データを示します。

AoqAudioStreamDirection

外部音声ストリームの方向。

列挙値

値

説明

AoqAudioStreamPublish

0

パブリッシング音声

AoqAudioStreamPlayout

1

再生音声

AoqAudioExternalStreamToggle

外部音声ストリーム切り替え状態。

列挙値

値

説明

AoqAudioExternalStreamToggleNormal

0

回復済み

AoqAudioExternalStreamTogglePause

1

一時停止

AoqAudioSource

音声フレームコールバックのデータソース。

列挙値

値

説明

AoqAudioSourceCaptured

0

キャプチャされた音声データ

AoqAudioSourceProcessCaptured

1

3A 処理後の音声データ

AoqAudioSourcePublish

2

パブリッシュされる音声データ (Connect 成功が必要)

AoqAudioSourcePlayback

3

再生される音声データ

AoqAudioObserverMode

音声フレームコールバックモード。

列挙値

値

説明

AoqAudioObserverModeReadOnly

0

読み取り専用

AoqAudioObserverModeReadWrite

1

読み書き

AoqAudioObserverConfig

音声フレームコールバック設定。

フィールド

型

デフォルト値

説明

sampleRate

NSInteger

48000

コールバック音声のサンプルレート

channels

NSInteger

1

コールバック内の音声チャンネル数

mode

AoqAudioObserverMode

ReadOnly

読み書きモード

AoqAudioVolumeIndicationConfig

ローカルボリューム表示構成。

フィールド

型

デフォルト値

説明

interval

NSInteger

0

コールバック間隔 (ms)。0 以下の値はコールバックを無効にします。0 より大きく 10 未満の値は 10 として扱われます。

smooth

NSInteger

3

ボリューム平滑化係数。有効な値:0~10。値が大きいほど、出力が滑らかになります。

AoqAudioVolume

ローカルボリューム情報。

フィールド

型

説明

volume

NSInteger

平滑化された瞬間ボリューム。有効な値:0~255。

ビデオタイプ

AoqVideoCaptureConfig

ビデオキャプチャ設定。

フィールド

型

デフォルト値

説明

width

NSInteger

1280

キャプチャ幅 (ピクセル)。このパラメーターは isExternal=YES の場合は無効です。

height

NSInteger

720

キャプチャ高さ (ピクセル)。このパラメーターは isExternal=YES の場合は無効です。

fps

NSInteger

15

キャプチャフレームレート。このパラメーターは isExternal=YES の場合は無効です (ペースはフレーム配信によって決定されます)。

isExternal

BOOL

NO

外部キャプチャを使用するかどうかを指定します。YES の場合、カメラは開かれず、フレームは pushExternalVideoCapturedFrame: によって供給されます。

AoqVideoCanvas

ビデオレンダリングのデータ構造。

フィールド

型

デフォルト値

説明

view

NSView *

nil

表示ビュー。nil を渡すとレンダリングバインディングが削除されます。

renderMode

AoqRenderMode

Auto

レンダリングモード

呼び出し元は、view が setLocalView: / setRemoteView: によって設定されている期間を超えて、そのライフサイクルが存続することを保証する必要があります。

AoqRenderMode

レンダリング表示モード。

列挙値

値

説明

AoqRenderModeAuto

0

自動モード

AoqRenderModeStretch

1

ストレッチフィルモード。アスペクト比が一致しない場合、画像はターゲットの比率に引き伸ばされ、歪みます。

AoqRenderModeFill

2

レターボックスモード。アスペクト比が一致しない場合、上下または左右に黒帯が追加されます。

AoqRenderModeCrop

3

クロップモード。アスペクト比が一致しない場合、幅または高さがクロップされ、画像の一部が失われます。

AoqVideoPixelFormat

ビデオピクセルフォーマット。

列挙値

値

説明

AoqVideoPixelFormatUnknown

0

不明なフォーマット

AoqVideoPixelFormatI420

1

I420

AoqVideoPixelFormatNV12

2

NV12

AoqVideoPixelFormatNV21

3

NV21

AoqVideoPixelFormatBGRA

4

BGRA

AoqVideoPixelFormatRGBA

5

RGBA

AoqVideoPixelFormatCVPixelBuffer

6

ゼロコピーパス。pixelBuffer フィールドを CVPixelBufferRef に設定します。

AoqVideoFrame

外部ビデオデータ。

フィールド

型

説明

format

AoqVideoPixelFormat

ピクセルフォーマット

width

NSInteger

幅 (ピクセル)

height

NSInteger

高さ (ピクセル)

data

NSData *

パック形式データ (NV12/NV21/BGRA/RGBA)

dataY / dataU / dataV

NSData *

3 つの I420 プレーンのデータ

strideY / strideU / strideV

NSInteger

3 つの I420 プレーンのストライド

pixelBuffer

CVPixelBufferRef

ゼロコピー。format=AoqVideoPixelFormatCVPixelBuffer の場合に使用されます。

timeStamp

int64_t

タイムスタンプ (ms)。0 の場合、SDK はローカルクロックでそれを埋めます。

AoqVideoEncodedFrame

外部でエンコードされたビデオフレーム。呼び出し元がエンコーディングを行い、SDK は再エンコードせずにフレームを直接パッケージ化して送信します。

フィールド

型

説明

codec

AoqVideoCodecType

コーデックフォーマット

data

NSData *

エンコードされたデータ

width

NSInteger

幅 (ピクセル)

height

NSInteger

高さ (ピクセル)

timeStamp

int64_t

タイムスタンプ (ms)。0 の場合、SDK はローカルクロックでそれを埋めます。

AoqVideoCodecType

外部でエンコードされたフレームのコーデックタイプ。

列挙値

値

説明

AoqVideoCodecTypeJPEG

0

JPEG

AoqVideoDeviceState

ビデオデバイスの状態。

フィールド

型

説明

state

AoqVideoDeviceStateCode

ステータスコード

reason

NSInteger

エラーコード (AoqErrorCode)

AoqVideoDeviceStateCode

ビデオデバイスのステータスコード。

列挙値

値

説明

AoqVideoDeviceNone

0

状態なし

AoqVideoDeviceCaptureStarting

1

カメラ開始中

AoqVideoDeviceCaptureStarted

2

カメラ開始済み

AoqVideoDeviceCaptureStopping

3

カメラ停止中

AoqVideoDeviceCaptureStopped

4

カメラ停止済み

AoqVideoDeviceCaptureFail

5

カメラの起動に失敗しました

AoqMirrorMode

ミラーモード。

列挙値

値

説明

AoqMirrorModeDisabled

0

ミラーリングを無効にする

AoqMirrorModeEnabled

1

ミラーリングを有効にする

AoqOrientationMode

向きモード。

列挙値

値

説明

AoqOrientationModeAuto

0

自動

AoqOrientationModePortrait

1

ポートレート

AoqOrientationModeLandscape

2

ランドスケープ

AoqVideoCodecConfig

ビデオコーデックパラメーター。エンコーディングとデコーディングで共有されます。デコーディングの場合、trackType / codecType / width / height / fps / bitrate のみが有効で、サブスクリプション提案としてネゴシエーションに参加します。その他のフィールドはエンコーディングにのみ使用されます。

フィールド

型

デフォルト値

説明

isExternal

BOOL

NO

外部エンコーディングモード。YES の場合、エンコードされたフレームをプッシュし、SDK はキャプチャやエンコーディングを行いません。

trackType

AoqTrackType

Video

トラックタイプ

codecType

AoqEncoderType

VideoH264

コーデックフォーマット

width

NSInteger

540

解像度の幅

height

NSInteger

960

縦の解像度

fps

NSInteger

5

フレームレート

bitrate

NSInteger

500000

初期ビットレート (bit/s)

minBitrate

NSInteger

128000

最小ビットレート (bit/s)

keyframeInterval

NSInteger

2

キーフレーム間隔 (秒)

mirrorMode

AoqMirrorMode

Disabled

ミラーモード

orientationMode

AoqOrientationMode

Auto

向きモード

AoqVideoSource

ビデオフレームコールバックのデータソース (パイプライン内の位置)。

列挙値

値

説明

AoqVideoSourceCaptured

0

前処理前のキャプチャされたビデオデータ

AoqVideoSourcePreEncode

1

エンコード前、前処理後のビデオデータ

AoqVideoSourceRemote

2

デコード後、レンダリング前のリモートビデオデータ

AoqVideoObserverMode

ビデオフレームコールバックモード。

列挙値

値

説明

AoqVideoObserverModeReadOnly

0

読み取り専用

AoqVideoObserverModeReadWrite

1

読み書き

AoqVideoObserverAlignment

ビデオ出力の幅アライメント方法。

列挙値

値

説明

AoqVideoObserverAlignmentDefault

0

デフォルト

AoqVideoObserverAlignmentEven

1

偶数アライメント

AoqVideoObserverAlignment4

2

4 バイトアライメント

AoqVideoObserverAlignment8

3

8 バイトアライメント

AoqVideoObserverAlignment16

4

16 バイトアライメント

AoqVideoObserverConfig

ビデオフレームコールバック設定。

フィールド

型

デフォルト値

説明

format

AoqVideoPixelFormat

I420

コールバックデータの期待されるピクセルフォーマット

alignment

AoqVideoObserverAlignment

Default

幅アライメントポリシー

mode

AoqVideoObserverMode

ReadOnly

読み書きモード。ReadWrite は I420 / CVPixelBuffer のみでサポートされています。

mirrorApplied

BOOL

NO

コールバックデータをミラーリングするかどうかを指定します

AoqRenderView

レンダリングビューコントロール。NSView を継承し、AoqVideoCanvas.view として使用できます。

属性

型

説明

engineDisplayView

NSView * (読み取り専用)

エンジンが内部で使用する表示ビュー

renderWidth

int (読み取り専用)

レンダリング幅

renderHeight

int (読み取り専用)

レンダリング高さ

enableMetal

BOOL (読み取り専用)

Metal レンダリングを有効にするかどうかを指定します

delegate

id<AoqRenderViewDelegate>

レンダリングビューのイベントデリゲート

AoqRenderViewDelegate

レンダリングビューのイベントデリゲートプロトコル。
- (void)onRenderViewSizeChanged:(AoqRenderView * _Nonnull)view;

コールバック

説明

onRenderViewSizeChanged:

レンダリングビューサイズ変更のコールバック