このトピックでは、AOQ Client SDK for Linux の C++ API、コールバック、およびデータ型について説明します。
API インデックス
エンジンのライフサイクル
API | 説明 |
|---|---|
createEngine | エンジンインスタンスの作成 (静的メソッド、シングルトン) |
destroy | エンジンインスタンスの削除 (静的メソッド) |
getVersion | SDK バージョンの取得 (静的メソッド) |
connect | リレーサーバーへの接続 |
disconnect | サーバーからの切断 |
オーディオデバイス管理
API | 説明 |
|---|---|
startAudioCapture | 音声キャプチャデバイスを開く (Linux では空実装) |
stopAudioCapture | 音声キャプチャデバイスを閉じる (Linux では効果なし) |
muteAudioCapture | 音声キャプチャのミュートまたはミュート解除 |
startAudioPlayer | 音声レンダリングの開始 (Linux では空実装) |
stopAudioPlayer | 音声レンダリングの停止 (Linux では効果なし) |
pauseAudioPlayer | 音声レンダリングの一時停止 (フェードアウト対応) |
resumeAudioPlayer | 音声レンダリングの再開 (フェードイン対応) |
interruptAudioPlayer | 現在の音声再生を中断 |
音声コーデック設定
API | 説明 |
|---|---|
setAudioEncoderConfig | 音声エンコーディングパラメーターの設定 |
setAudioDecoderConfig | 音声デコーディングパラメーターの設定 |
ビデオデバイス管理
API | 説明 |
|---|---|
startVideoCapture | ビデオキャプチャデバイスを開く (Linux では外部キャプチャモードのみサポート) |
stopVideoCapture | ビデオキャプチャデバイスを閉じる |
setLocalView | ローカルビデオレンダリングウィンドウの設定または削除 (Linux ではレンダリング実装なし) |
setRemoteView | リモートビデオレンダリングウィンドウの設定または削除 (Linux ではレンダリング実装なし) |
ビデオコーデックと外部入力
API | 説明 |
|---|---|
setVideoEncoderConfig | ビデオエンコーディングパラメーターの設定 |
setVideoDecoderConfig | ビデオデコーディングパラメーターの設定 (サブスクライブ側でのコーデック提案) |
pushExternalVideoCapturedFrame | 外部でキャプチャされたビデオフレームのプッシュ |
pushExternalVideoEncodedFrame | 外部でエンコードされたビデオフレームのプッシュ |
メディアストリーム制御
API | 説明 |
|---|---|
enableSendMediaStream | ローカルメディアストリームの送信の有効化または無効化 |
オーディオファイルの再生
API | 説明 |
|---|---|
startAudioFile | 公開ストリームへのローカルオーディオファイルの再生開始 |
stopAudioFile | オーディオファイルの再生停止 |
pauseAudioFile | オーディオファイルの再生一時停止 |
resumeAudioFile | オーディオファイルの再生再開 |
getAudioFileDuration | オーディオファイルの総持続時間のクエリ |
getAudioFileCurrentPosition | オーディオファイルの現在の再生位置を取得します |
setAudioFilePositionMillis | オーディオファイルの再生位置の設定 (シーク) |
setAudioFileVolume | オーディオファイルのボリューム設定 |
getAudioFileVolume | オーディオファイルの現在のボリュームのクエリ |
外部音声ストリーム
API | 説明 |
|---|---|
addAudioExternalStream | 外部音声ストリームの追加 |
pushAudioExternalStreamData | 外部音声 PCM データの供給 |
setAudioExternalStreamVolume | 外部音声ストリームのボリューム設定 |
getAudioExternalStreamVolume | 外部音声ストリームのボリュームのクエリ |
clearAudioExternalStreamBuffer | 外部音声ストリームのバッファーのクリア |
removeAudioExternalStream | 外部音声ストリームの削除 |
リアルタイムメッセージング
API | 説明 |
|---|---|
sendDataMsg | リアルタイムデータメッセージの送信 |
音声フレームのコールバック
API | 説明 |
|---|---|
setAudioFrameObserver | 音声フレームデータリスナーの登録 (純粋仮想) |
enableAudioFrameObserver | 指定位置での音声フレームコールバックの有効化または無効化 (純粋仮想) |
ローカル音量レベルの通知
API | 説明 |
|---|---|
enableLocalAudioVolumeIndication | ローカルキャプチャ音量レベル通知コールバックの有効化または無効化 |
ビデオフレームのコールバック
API | 説明 |
|---|---|
setVideoFrameObserver | ビデオフレームデータリスナーの登録 (純粋仮想) |
enableVideoFrameObserver | 指定位置でのビデオフレームコールバックの有効化または無効化 (純粋仮想) |
AoqEngineEventListener コールバック
コールバック | 説明 |
|---|---|
onError | エンジンエラーコールバック |
onWarning | エンジン警告コールバック |
onConnectionStatusChange | 接続状態変更コールバック |
onStats | エンジン統計コールバック |
onAudioDeviceStateChanged | オーディオデバイス操作状態変更コールバック |
onAudioDeviceRouteChanged | オーディオ出力ルート変更コールバック (Linux ではトリガーされない) |
onAudioFileState | オーディオファイル再生状態コールバック |
onLocalAudioVolumeIndication | ローカルキャプチャ音量レベル通知コールバック |
onVideoDeviceStateChanged | ビデオデバイス操作状態変更コールバック |
onDataMsg | 受信したリアルタイムデータメッセージのコールバック |
フレームデータリスナーインターフェイス
API | 説明 |
|---|---|
IAudioFrameObserver | 音声フレームデータリスニング用インターフェイス (4つの純粋仮想コールバック) |
IVideoFrameObserver | ビデオフレームデータリスニング用インターフェイス (3つの純粋仮想コールバック) |
API の詳細
エンジンのライフサイクル
createEngine
エンジンインスタンスを作成します。SDK はエンジンをグローバルシングルトンとして保持するため、このメソッドを再度呼び出すと既存のインスタンスが返されます。
パラメーター | 型 | 説明 |
|---|---|---|
config | AoqCreateConfig | エンジン作成構成 |
listener | AoqEngineEventListener\* | エンジンイベントコールバックリスナー。呼び出し元が継承によって実装します。 |
nullptr が返されます。リスナーのライフサイクルは、エンジンのライフサイクルよりも長くする必要があります。
destroy
エンジンインスタンスを削除し、すべてのリソースを解放します。
0 は成功を示し、0 以外の値は失敗を示します。
getVersion
現在の SDK バージョンを取得します。
connect
リレーサーバーに接続します。アプリケーションサーバーは、使用中のプロトコルに基づいて一時的な AOQ 接続パラメーターを取得し、クライアントに送信します。詳細については、「トークン認証」をご参照ください。
パラメーター | 型 | 説明 |
|---|---|---|
config | AoqConnectConfig | 接続構成。トークン、SID、リレーアクセスポイントの配列、公開およびサブスクライブトラックの配列が含まれます。 |
0 は成功を示し、操作は非同期で実行されます。0 以外の値は失敗を示します。接続結果は onConnectionStatusChange によって通知されます。
relayEndpoints / publishTracks / subscribeTracks はすべて「C スタイルの配列ポインター + 長さ」の構造です。メモリは呼び出し元によって保持され、connect 呼び出し中にのみ有効である必要があります。disconnect
サーバーから切断し、接続に関連付けられているリソースを解放します。
0 は成功を示し、0 以外の値は失敗を示します。
オーディオデバイス管理
パラメーター | 型 | 説明 |
|---|---|---|
config | AoqAudioCaptureConfig / AoqAudioPlaybackConfig | キャプチャと再生の構成 |
mute | bool | true はミュート、false はミュート解除 |
fadeMs | int | フェードアウトまたはフェードインの持続時間 (ミリ秒)。0 は即時実行を示します。 |
trackType | AoqTrackType | トラックタイプ |
startAudioCapture / startAudioPlayer は Linux ビルドでは空実装です (直接 0 を返し、サウンドカードデバイスを開きません)。また、stopAudioCapture / stopAudioPlayer は内部状態が設定されないため、実際には効果がありません。Linux では、音声入力には外部音声ストリーム (2.8) を使用し、音声出力の再生には音声フレームコールバック (2.10) を使用してご自身で再生してください。詳細については、4.3 をご参照ください。音声コーデック設定
connect() の前に呼び出すことを推奨します。サンプルレートとモードの無効な組み合わせは、connect 中に AoqECParamInvalid を伴う onError コールバックをトリガーします。
ビデオデバイス管理
パラメーター | 型 | 説明 |
|---|---|---|
config | AoqVideoCaptureConfig | ビデオキャプチャ構成 |
trackType | AoqTrackType | ビデオトラックタイプ |
canvas | AoqVideoCanvas | レンダリングキャンバス。 |
startVideoCapture({.isExternal = true}) + pushExternalVideoCapturedFrame を使用してフレームを配信してください。setLocalView / setRemoteView は Linux にはレンダリングバックエンドがありません (AoqVideoCanvas.view は Apple NSView* / Windows HWND / Android レンダリングビューのみをサポートします)。プレビューには、ビデオフレームコールバック (2.12) を通じてご自身でレンダリングしてください。詳細については、4.3 をご参照ください。ビデオコーデックと外部入力
パラメーター | 型 | 説明 |
|---|---|---|
config | AoqVideoCodecConfig |
|
trackType | AoqTrackType | ルーティングターゲット。 |
frame | AoqVideoFrame / AoqVideoEncodedFrame | 生フレームまたはエンコード済みフレームデータ |
setVideoDecoderConfigはサブスクライブ側のコーデック提案であり、connectの前に呼び出す必要があります。デコード中、trackType/codecType/width/height/fps/bitrateのみが有効です。pushExternalVideoCapturedFrameは、最初にstartVideoCapture(isExternal=true)を必要とします。外部キャプチャが開始されていない場合はAoqECVideoExternalCaptureNotEnabled(211)を、フォーマットがサポートされていない場合はAoqECParamInvalidを、バッファーが満杯の場合はAoqECVideoExternalBufferFull(210)を返します。pushExternalVideoEncodedFrameは、最初にsetVideoEncoderConfig(isExternal=true)を必要とします。SDK はフレームを再エンコードせずに直接パッケージ化して送信します。現在、JPEG のみがサポートされています。frame.timeStampが0の場合、SDK はローカル時間でそれを埋めます。
メディアストリーム制御
trackType は AoqTrackTypeAudio または AoqTrackTypeVideo にすることができます。戻り値 0 は、呼び出しがディスパッチされ、非同期で実行されることを示します。初期化後に送信を無効にし、onConnectionStatusChange が AoqConnectionStatusConnected を報告した後にのみ有効にすることを推奨します。
オーディオファイルの再生
パラメーター | 型 | 説明 |
|---|---|---|
fileId | const char\* | オーディオファイル ID。ビジネスレイヤーはグローバルな一意性を保証する必要があります。 |
config | AoqAudioFileMixConfig | ファイルミキシング構成 |
positionMillis | int64_t | ターゲット再生位置 (ミリ秒) |
type | AoqAudioStreamDirection | 公開ボリュームまたはローカル再生ボリューム |
volume | int | ボリューム。有効な値:0 から 100。 |
getAudioFileDuration/getAudioFileCurrentPosition:>=0の値はミリ秒単位の値です。<0の値は失敗を示し、その絶対値は-AoqErrorCodeです。getAudioFileVolume:0-100の値はボリュームです。<0の値は失敗を示し、その絶対値は-AoqErrorCodeです。
onAudioFileState コールバックを通じて報告されます。ファイルミキシングは公開パスを使用し、ローカルサウンドカードに依存しません。したがって、Linux では、ローカルファイルを音声ソースとしてプッシュするために使用できます。
外部音声ストリーム
パラメーター | 型 | 説明 |
|---|---|---|
streamId | const char\* | 外部音声ストリーム ID。ビジネスレイヤーはグローバルな一意性を保証する必要があります。 |
config | AoqAudioExternalStreamConfig | 外部音声ストリーム構成 |
data | AoqAudioFrameData | 生の外部音声データ (PCM)、非 const 参照として |
type | AoqAudioStreamDirection | 公開ボリュームまたはローカル再生ボリューム |
vol | int | ボリューム。有効な値:0 から 100。 |
fadeoutMs | int | フェードアウト持続時間。 |
-
pushAudioExternalStreamDataがAoqECAudioExternalBufferFull(110)を返した場合、SDK の内部バッファーは満杯です。20 ms 待ってから現在のデータフレームを再送信することを推奨します。 -
ベストプラクティス:リアルタイムキャプチャシナリオでは、一度に 10 ms のデータをプッシュし、データが利用可能になるたびにプッシュします。ファイルソースシナリオでは、30 ms の間隔で一度に 40 ms のデータをプッシュし、
AoqECAudioExternalBufferFullの戻り値を処理します。 -
getAudioExternalStreamVolume:0-100の値はボリュームです。<0の値は失敗を示し、その絶対値は-AoqErrorCodeです。 -
clearAudioExternalStreamBufferはvoidを返し、戻り値はありません。 -
data.pushSequenceは、SDK の消費完了通知 (PCM 入力ラウンド) に使用されます。Linux には実際のキャプチャデバイスはありません。この API グループは、音声アップリンクの主要なパスです。
リアルタイムメッセージング
msg.data は呼び出し元が保持するメモリを指し、呼び出し中にのみ有効である必要があります。ピアからのメッセージは onDataMsg コールバックを通じて報告されます。
音声フレームのコールバック
パラメーター | 型 | 説明 |
|---|---|---|
observer | IAudioFrameObserver\* | リスナーインスタンス。 |
enabled | bool | この位置でデータコールバックを有効にするかどうかを指定します |
audioSource | AoqAudioSource | 生音声データソースの位置 |
config | AoqAudioObserverConfig | コールバックのサンプルレート、チャンネル数、および読み書きモード |
setAudioFrameObserver(observer) を呼び出してリスナーを登録します。次に、必要な各位置に対して enableAudioFrameObserver を呼び出します。オブザーバーのライフサイクルは、コールバック期間全体をカバーする必要があります。オブザーバーを登録解除した後にのみ解放してください。
読み書きモードのサポート (IAudioFrameObserver 宣言を参照):onCapturedAudioFrame / onProcessCapturedAudioFrame / onPlaybackAudioFrame は読み書きモードをサポートしますが、onPublishAudioFrame は読み取り専用モードのみをサポートします。
setAudioFrameObserver は非同期ディスパッチ (コントロールスレッドへの PostTask) を通じて登録を完了するため、コールバックは呼び出しが返された後、わずかに遅れて有効になる場合があります。オブザーバーを解放する前に、十分な安全マージンを確保するか、オブジェクトを存続させてください。ローカル音量レベルの通知
config.interval <= 0 の場合、コールバックは無効になります。有効にすると、onLocalAudioVolumeIndication は config.interval で指定された間隔でトリガーされます。音量データを取得するには、startAudioCapture の後にこのメソッドを呼び出す必要があります。
ビデオフレームのコールバック
パラメーター | 型 | 説明 |
|---|---|---|
observer | IVideoFrameObserver\* | リスナーインスタンス。 |
enabled | bool | この位置でデータコールバックを有効にするかどうかを指定します |
videoSource | AoqVideoSource | ビデオフレームコールバックのデータソース (パイプライン内の位置) |
config | AoqVideoObserverConfig | 期待されるピクセルフォーマット、アライメントポリシー、読み書きモード、およびミラーリング |
true を返した場合、データは変更されており、SDK に書き戻す必要があります。これは I420 / CVPixelBuffer にのみ有効であり、Linux では I420 のみを意味します。コールバックが false を返した場合、データは読み取り専用です。
AoqVideoSourceRemote)。AoqEngineEventListener コールバック
AoqEngineEventListener は、SDK からのすべての非同期イベント通知の統一されたエントリポイントです。これを継承して実装し、createEngine を呼び出すときに渡します。
= 0) です。Linux では、以下の 10 個のメソッドを完全に実装する必要があります。そうしないと、派生クラスをインスタンス化できません。コールバックは、内部 SDK スレッドでトリガーされる場合があります。onError
エンジンエラーコールバック。code は AoqErrorCode 列挙値 (3.3 を参照) に対応し、message はコールバック中にのみ有効です。
onWarning
エンジン警告コールバック。code は AoqWarningCode 列挙値 (3.3 を参照) に対応します。
onConnectionStatusChange
接続状態変更コールバック。状態遷移:Disconnected -> Connecting -> Connected / Failed -> Disconnected。
onStats
エンジン統計コールバック。SDK は、音声とビデオの公開およびサブスクライブ統計、およびネットワーク統計を定期的に報告します。これらを使用して、通話品質とネットワーク状態をリアルタイムで監視し、音声とビデオの問題を診断できます。
パラメーター | 型 | 説明 |
|---|---|---|
stats | AoqStats | 音声、ビデオ、およびデータメッセージの公開およびサブスクライブ統計とネットワーク統計 |
AoqStats は内部で「配列ポインター + カウント」構造を使用します。ポインターはコールバック中にのみ有効であるため、非同期で使用する場合はご自身でデータをコピーする必要があります。onAudioDeviceStateChanged
オーディオデバイスのキャプチャおよび再生操作の状態変更に関するコールバック。state.reason は AoqErrorCode 値です。
onAudioDeviceRouteChanged
オーディオ出力ルート変更コールバック。routeType は AoqAudioDeviceRouteType 列挙値 (3.4 を参照) に対応します。
AOQ_HAS_NATIVE_DEVICE_MONITOR は Windows / macOS でのみ定義されています)。また、サーバー側のオーディオデバイスはルートイベントを生成しません。このメソッドは (純粋仮想であるため) 実装する必要がありますが、実装は空にすることができます。onAudioFileState
オーディオファイル再生状態のコールバック。state.fileId はコールバック中にのみ有効です。
onLocalAudioVolumeIndication
ローカルキャプチャ音量レベル通知コールバック。有効にするには、enableLocalAudioVolumeIndication を呼び出します。
onVideoDeviceStateChanged
ビデオデバイスキャプチャ操作の状態変更に関するコールバック。state.reason は AoqErrorCode 値です。
onDataMsg
受信したリアルタイムデータメッセージのコールバック。msg.data はコールバック中にのみ有効であることが保証されます。非同期で使用する必要がある場合は、ご自身でコピーしてください。
フレームデータリスナーインターフェイス
IAudioFrameObserver
音声データリスニング用インターフェイス。コールバック内で時間のかかる操作を実行しないでください。実行すると、音声の異常が発生する可能性があります。すべてのメソッドは純粋仮想関数であり、完全に実装する必要があります。
コールバック | 有効化方法 (audioSource) | 読み書きモード |
|---|---|---|
onCapturedAudioFrame | AoqAudioSourceCaptured | 読み書き対応 |
onProcessCapturedAudioFrame | AoqAudioSourceProcessCaptured | 読み書き対応 |
onPublishAudioFrame | AoqAudioSourcePublish (connect 成功が必要) | 読み取り専用のみサポート |
onPlaybackAudioFrame | AoqAudioSourcePlayback | 読み書き対応 |
AoqAudioObserverConfig を使用してサンプルレートとチャンネル数を設定することをサポートしています。
onPlaybackAudioFrame はリモートダウンリンク PCM を取得するための主要なパスです。3A モジュールは Linux ではコンパイルされないため、onProcessCapturedAudioFrame (3A 処理後のデータ) からのデータは、基本的に生のキャプチャデータと同じです。詳細については、4.3 をご参照ください。IVideoFrameObserver
ビデオデータリスニング用インターフェイス。コールバック内で時間のかかる操作を実行しないでください。実行すると、ビデオのコマ落ちが発生する可能性があります。すべてのメソッドは純粋仮想関数です。
コールバック | 有効化方法 (videoSource) | 説明 |
|---|---|---|
onCapturedVideoFrame | AoqVideoSourceCaptured | キャプチャ後、前処理前のローカル生データ |
onPreEncodeVideoFrame | AoqVideoSourcePreEncode | エンコード前、前処理後のローカル生データ |
onRemoteVideoFrame | AoqVideoSourceRemote | デコード後、レンダリング前のリモート生データ |
true はデータが変更されたことを示し、SDK に書き戻す必要があります。これは I420 / CVPixelBuffer にのみ有効です。false は読み取り専用を示します。frame 内のポインターはコールバック中にのみ有効です。非同期で使用するには、ご自身でコピーしてください。
データ型と列挙型
すべての型は AoqClientSdk 名前空間の AoqClientEngine.h で定義されています。すべての構造体はデフォルト値を持つ POD 型であるため、宣言するだけで表のデフォルト値が得られます。モバイル専用としてマークされたフィールドは、Linux では条件付きコンパイルによって除外され、構造体には存在しません。
共通の型
AoqCreateConfig
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
workDir | const char\* | nullptr | SDK の作業ディレクトリ (ログおよび一時ファイル用) |
enableDumpAudio | bool | false | 音声データを保存するかどうかを指定します (デバッグ用) |
extras | const char\* | nullptr | 拡張パラメーター (JSON 文字列) |
createEngine が返されるまで有効である必要があります。エンジンは必要に応じて内部でそれらをコピーします。Android の isBTScoMode フィールドはモバイル専用であり、Linux には存在しません。AoqConnectConfig
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
token | const char\* | nullptr | 接続認証トークン |
sid | const char\* | nullptr | セッション ID |
certFingerprint | const char\* | nullptr | サーバー証明書のフィンガープリント |
workspaceIdHash | const char\* | nullptr | ワークスペース ID のハッシュ |
relayEndpoints | const AoqRelayEndpoint\* | nullptr | リレーアクセスポイント配列の開始アドレス |
relayEndpointsCount | size_t | 0 | リレーアクセスポイントの数 |
publishTracks | const AoqTrackParam\* | nullptr | 公開トラック属性の配列の開始アドレス |
publishTracksCount | size_t | 0 | 公開トラックの数 |
subscribeTracks | const AoqTrackParam\* | nullptr | サブスクライブトラック属性の配列の開始アドレス |
subscribeTracksCount | size_t | 0 | サブスクライブトラックの数 |
AoqRelayEndpoint
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
route_index | int | -1 | ルートインデックス |
endpoint | const char\* | nullptr | リレーサーバーのドメイン名または IP アドレス |
port | int | 0 | リレーサーバーのポート |
route_index は、他のフィールドで使用されるキャメルケースとは異なり、スネークケースを使用していることにご注意ください。AoqTrackParam
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
trackType | AoqTrackType | AoqTrackTypeAudio | トラックタイプ |
trackMode | AoqTrackMode | AoqTrackModeSegment | ストリーミングまたは非ストリーミングモード。音声ダウンリンクにのみ有効です。 |
AoqDataMsg
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
data | const uint8_t\* | nullptr | メッセージ内容。呼び出し元が保持するメモリを指します。 |
dataSize | size_t | 0 | バイト数 |
統計の種類
AoqStats
エンジン統計の概要。onStats を通じて定期的に報告されます。「配列ポインター + カウント」構造を使用し、すべてのポインターはデフォルトで nullptr、すべてのカウントはデフォルトで 0 です。
フィールド | 型 | 説明 |
|---|---|---|
audioPublishStats | const AoqAudioPublishStats\* | 音声の公開統計の配列 |
audioPublishStatsCount | unsigned int | 音声の公開統計エントリの数 |
videoPublishStats | const AoqVideoPublishStats\* | ビデオの公開統計の配列 |
videoPublishStatsCount | unsigned int | ビデオの公開統計エントリの数 |
dataMsgPublishStats | const AoqDataMsgPublishStats\* | データメッセージの公開統計の配列 |
dataMsgPublishStatsCount | unsigned int | データメッセージの公開統計エントリの数 |
audioSubscribeStats | const AoqAudioSubscribeStats\* | 音声のサブスクライブ統計の配列 |
audioSubscribeStatsCount | unsigned int | 音声のサブスクライブ統計エントリの数 |
videoSubscribeStats | const AoqVideoSubscribeStats\* | ビデオのサブスクライブ統計の配列 |
videoSubscribeStatsCount | unsigned int | ビデオのサブスクライブ統計エントリの数 |
dataMsgSubscribeStats | const AoqDataMsgSubscribeStats\* | データメッセージのサブスクライブ統計の配列 |
dataMsgSubscribeStatsCount | unsigned int | データメッセージのサブスクライブ統計エントリの数 |
networkStats | const AoqNetworkStats\* | ネットワーク統計 |
AoqAudioPublishStats
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
trackType | AoqTrackType | AoqTrackTypeAudio | トラックタイプ |
bitrate | unsigned int | 0 | ビットレート (bit/s) |
bytes | uint64_t | 0 | 累計送信バイト数 |
encodeVolume | unsigned int | 0 | 公開ストリームのエンコーディングボリューム |
AoqAudioSubscribeStats
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
trackType | AoqTrackType | AoqTrackTypeAudio | トラックタイプ |
bitrate | unsigned int | 0 | ビットレート (bit/s) |
bytes | uint64_t | 0 | 累計受信バイト数 |
playVolume | unsigned int | 0 | 再生ボリューム |
AoqVideoPublishStats
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
trackType | AoqTrackType | AoqTrackTypeVideo | トラックタイプ |
bitrate | unsigned int | 0 | ビットレート (bit/s) |
bytes | uint64_t | 0 | 累計送信バイト数 |
encodeFps | unsigned int | 0 | エンコーディングフレームレート |
AoqVideoSubscribeStats
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
trackType | AoqTrackType | AoqTrackTypeVideo | トラックタイプ |
bitrate | unsigned int | 0 | ビットレート (bit/s) |
bytes | uint64_t | 0 | 累計受信バイト数 |
decodeFps | unsigned int | 0 | デコーディングフレームレート |
renderFps | unsigned int | 0 | レンダリングフレームレート |
AoqDataMsgPublishStats / AoqDataMsgSubscribeStats
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
trackType | AoqTrackType | AoqTrackTypeData | トラックタイプ |
bitrate | unsigned int | 0 | ビットレート (bit/s) |
bytes | uint64_t | 0 | 累計送受信バイト数 |
AoqNetworkStats
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
sendBitrate | unsigned int | 0 | 送信ビットレート (bit/s) |
sendBytes | uint64_t | 0 | 累計送信バイト数 |
recvBitrate | unsigned int | 0 | 受信ビットレート (bit/s) |
recvBytes | uint64_t | 0 | 累計受信バイト数 |
loss | unsigned int | 0 | パケット損失率 (0 から 100) |
rtt | unsigned int | 0 | ラウンドトリップ遅延 (ms) |
列挙型
AoqTrackType
列挙値 | 値 | 説明 |
|---|---|---|
AoqTrackTypeAudio | 0 | 音声トラック |
AoqTrackTypeVideo | 1 | ビデオトラック |
AoqTrackTypeData | 2 | データメッセージトラック |
AoqTrackMode
列挙値 | 値 | 説明 |
|---|---|---|
AoqTrackModeSegment | 0 | セグメント化:データは文などの意味的なセグメントにパッケージ化されて配信されます。 |
AoqTrackModeStream | 1 | ストリーミング:データは継続的に配信されます。 |
AoqEncoderType
列挙値 | 値 | 説明 |
|---|---|---|
AoqEncoderTypeUnknown | 0 | 不明なフォーマット |
AoqEncoderTypeAudioPCM | 1 | 音声 PCM |
AoqEncoderTypeAudioOpus | 2 | 音声 Opus (プラグインベース、Linux に静的にビルドされており、すぐに利用可能) |
AoqEncoderTypeVideoH264 | 3 | ビデオ H.264 |
AoqEncoderTypeVideoJpeg | 4 | ビデオ JPEG |
AoqEncoderTypeDataText | 5 | メッセージテキスト |
AoqConnectionStatus
列挙値 | 値 | 説明 |
|---|---|---|
AoqConnectionStatusDisconnected | 0 | 切断済み |
AoqConnectionStatusConnecting | 1 | 接続中 |
AoqConnectionStatusConnected | 2 | 接続済み |
AoqConnectionStatusFailed | 3 | 接続失敗 |
AoqErrorCode
AoqEC* 形式を使用します (Android の完全な 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 | 再生の開始に失敗しました |
AoqECAudioDeviceEarpieceRequiresVoipMode | 128 | レシーバーには VoIP モードが必要です (モバイルシナリオ) |
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 | ビデオレンダリングがスペックダウンしました |
AoqMirrorMode
列挙値 | 値 | 説明 |
|---|---|---|
AoqMirrorModeDisabled | 0 | ミラーリングを無効にする |
AoqMirrorModeEnabled | 1 | ミラーリングを有効にする |
AoqOrientationMode
列挙値 | 値 | 説明 |
|---|---|---|
AoqOrientationModeAuto | 0 | 自動フィット |
AoqOrientationModePortrait | 1 | ポートレート |
AoqOrientationModeLandscape | 2 | 横向き |
AoqRenderMode
列挙値 | 値 | 説明 |
|---|---|---|
AoqRenderModeAuto | 0 | 適応モード |
AoqRenderModeStretch | 1 | ストレッチモード |
AoqRenderModeFill | 2 | フィルモード |
AoqRenderModeCrop | 3 | クロップモード |
AoqVideoCanvas.renderMode としてのみ使用されます。Linux にはレンダリング実装がないため、この列挙型は実際には効果がありません。AoqAudioStreamDirection
列挙値 | 値 | 説明 |
|---|---|---|
AoqAudioStreamPublish | 0 | 公開音声 |
AoqAudioStreamPlayout | 1 | 再生音声 |
AoqAudioExternalStreamToggle
列挙値 | 値 | 説明 |
|---|---|---|
AoqAudioExternalStreamToggleNormal | 0 | 回復済み |
AoqAudioExternalStreamTogglePause | 1 | 一時停止 |
音声関連の型
AoqAudioCaptureConfig
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
isExternal | bool | false | 外部キャプチャを使用するかどうかを指定します |
channel | int | 1 | 音声キャプチャチャンネル数。1 と 2 がサポートされています。 |
isVoipMode はモバイル専用フィールドであり、Linux には存在しません。AoqAudioPlaybackConfig
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
isExternal | bool | false | 外部再生を使用するかどうかを指定します |
channel | int | 1 | 音声再生チャンネル数。1 と 2 がサポートされています。 |
isVoipMode / isDefaultSpeaker はモバイル専用フィールドであり、Linux には存在しません。AoqAudioCodecConfig
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
trackType | AoqTrackType | AoqTrackTypeAudio | トラックタイプ |
codecType | AoqEncoderType | AoqEncoderTypeAudioPCM | エンコーディングタイプ |
sampleRate | int | 48000 | サンプルレート (Hz) |
channel | int | 1 | チャンネル数。1 と 2 がサポートされています。 |
bitrate | int | 32000 | ビットレート (bit/s) |
- エンコーディング:Opus は 8 / 16 / 48K をサポートし、PCM は 8 / 16 / 32 / 48K をサポートします。
- デコーディング:24K が追加でサポートされますが、24K はセグメントモードに限定されます (ストリームモードは 24K をサポートしません)。
- 無効な組み合わせは、
connect中にAoqECParamInvalidを伴うonErrorコールバックをトリガーします。
AoqAudioDeviceRouteType
列挙値 | 値 | 説明 |
|---|---|---|
AoqAudioDeviceRouteDefault | 0 | デフォルトルート |
AoqAudioDeviceRouteHeadset | 1 | ヘッドフォン |
AoqAudioDeviceRouteEarpiece | 2 | レシーバー |
AoqAudioDeviceRouteHeadsetNoMic | 3 | マイクなしのヘッドフォン |
AoqAudioDeviceRouteSpeakerPhone | 4 | 内蔵スピーカー |
AoqAudioDeviceRouteUsb | 5 | USB オーディオデバイス |
AoqAudioDeviceRouteBluetooth | 6 | Bluetooth |
AoqAudioDeviceRouteBluetoothA2dp | 7 | Bluetooth A2DP |
routeType の onAudioDeviceRouteChanged の値の参照にすぎません。Linux はこのコールバックをトリガーしません。AoqAudioDeviceStateCode
列挙値 | 値 | 説明 |
|---|---|---|
AoqAudioDeviceNone | 0 | 状態なし |
AoqAudioDeviceRecordStarting | 1 | キャプチャ開始中 |
AoqAudioDeviceRecordStarted | 2 | キャプチャ開始済み |
AoqAudioDeviceRecordStopping | 3 | キャプチャ停止中 |
AoqAudioDeviceRecordStopped | 4 | キャプチャ停止済み |
AoqAudioDeviceRecordFail | 5 | キャプチャ失敗 |
AoqAudioDevicePlayStarting | 6 | 再生開始中 |
AoqAudioDevicePlayStarted | 7 | 再生開始済み |
AoqAudioDevicePlayStopping | 8 | 再生停止中 |
AoqAudioDevicePlayStopped | 9 | 再生停止済み |
AoqAudioDevicePlayFail | 10 | 再生失敗 |
AoqAudioDeviceState
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
state | AoqAudioDeviceStateCode | AoqAudioDeviceNone | デバイス操作状態 |
reason | int | 0 | エラー理由コード。AoqErrorCode をご参照ください。 |
AoqAudioFrameData
生音声データ。pushAudioExternalStreamData を介した外部ストリーム供給と IAudioFrameObserver コールバックの両方で使用されます。
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
dataPtr | void\* | 0 | 音声 PCM データへのポインター |
numOfSamples | int | 0 | サンプル数 (チャンネルあたり) |
bytesPerSample | int | 0 | サンプルあたりのバイト数 |
numOfChannels | int | 0 | チャンネル数 |
samplesPerSec | int | 0 | 1 秒あたりのサンプル数 (サンプルレート) |
pushSequence | int | 0 | PCM 入力ラウンド (ストリーム消費完了通知に使用) |
timeStamp | int64_t | 0 | タイムスタンプ |
dataSize | int | 0 | データ長 (バイト) |
autoGenMute | bool | false | コールバックでのみ有効。true は SDK によって生成された無音データを示します。 |
AoqAudioSource
列挙値 | 値 | 説明 |
|---|---|---|
AoqAudioSourceCaptured | 0 | キャプチャされた音声データ |
AoqAudioSourceProcessCaptured | 1 | 3A 処理後の音声データ |
AoqAudioSourcePublish | 2 | 公開する音声データ (connect 成功が必要) |
AoqAudioSourcePlayback | 3 | 再生する音声データ |
AoqAudioSourceMax | 4 | プレースホルダー、使用しないでください |
AoqAudioObserverMode
列挙値 | 値 | 説明 |
|---|---|---|
AoqAudioObserverModeReadOnly | 0 | 読み取り専用モード |
AoqAudioObserverModeReadWrite | 1 | 読み書きモード |
AoqAudioObserverConfig
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
sampleRate | int | 48000 | コールバック音声のサンプルレート (Hz)。レートがソースと一致しない場合、リサンプリングが実行されます。 |
channels | int | 1 | コールバックの音声チャンネル数。1 と 2 がサポートされています。このパラメーターは、サブスクライブストリームのコーデックパラメーターによって制限されます。 |
mode | AoqAudioObserverMode | AoqAudioObserverModeReadOnly | コールバックモード |
AoqAudioVolumeIndicationConfig
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
interval | int | 0 | コールバック間隔 (ミリ秒)。0 以下の値はコールバックを無効にします。0 より大きく 10 未満の値は 10 として扱われます。 |
smooth | int | 3 | ボリューム平滑化係数。値が大きいほど、出力が滑らかになります。有効な値:0 から 10。 |
AoqAudioVolume
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
volume | int | 0 | 平滑化された瞬時音量。有効な値:0 から 255。 |
オーディオファイルと外部音声ストリームの型
AoqAudioFileMixConfig
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
fileName | const char\* | nullptr | ファイル名 (パスを含む) |
cycles | int | -1 | ループ数。-1 は無制限のループを示します。 |
startPosMs | long | 0 | 再生開始位置 (ミリ秒) |
publishVolume | int | 100 | 公開ボリューム。有効な値:0 から 100。 |
playoutVolume | int | 100 | 再生ボリューム。有効な値:0 から 100。 |
fileId は構成本体の一部ではなく、startAudioFile に別のパラメーターとして渡されます。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 | ファイルのデコードに失敗しました |
AoqAudioFileState
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
fileId | const char\* | nullptr | ファイル ID。コールバック中にのみ有効です。 |
stateCode | AoqAudioFileStateCode | AoqAudioFileNone | ファイル状態コード |
errorCode | AoqAudioFileErrorCode | AoqAudioFileNoError | ファイルエラーコード |
AoqAudioExternalStreamConfig
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
trackType | AoqTrackType | AoqTrackTypeAudio | 音声トラックタイプ |
codecType | AoqEncoderType | AoqEncoderTypeAudioPCM | 音声ストリームフォーマット。PCM がサポートされています。 |
channels | int | 1 | チャンネル数。公開ストリームの音声コーデックによって制限されます (1 と 2 がサポートされ、追加のチャンネルは無視されます)。 |
sampleRate | int | 48000 | サンプルレート (Hz) |
playoutVolume | int | 100 | 再生ボリューム。有効な値:0 から 100。 |
publishVolume | int | 100 | 公開ボリューム。有効な値:0 から 100。 |
maxBufferDuration | int | 600000 | 最大バッファー持続時間 (ミリ秒) (つまり 10 分)。有効な値:100 以上。この値を超えると、プッシュは失敗します。 |
enable3A | bool | false | 入力 PCM に 3A 処理を適用します (Linux では効果がありません、4.3 をご参照ください) |
streamId は構成本体の一部ではなく、addAudioExternalStream に別のパラメーターとして渡されます。ビデオ関連の型
AoqVideoCanvas
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
view | void\* | nullptr | プラットフォームネイティブのビューハンドルへの不透明ポインター。nullptr を渡してバインディングを削除します。 |
renderMode | AoqRenderMode | AoqRenderModeAuto | レンダリングフィルモード |
view のプラットフォームの意味:Apple では NSView*、Windows では HWND、Android では SDK の内部レンダリングビューアダプターオブジェクト。view のライフサイクルが setLocalView / setRemoteView によって設定されている期間よりも長いことを確認する必要があります。
AoqVideoCaptureConfig
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
width | int | 1280 | キャプチャ幅 (ピクセル)。isExternal=true の場合、このパラメーターは無効です。 |
height | int | 720 | キャプチャ高さ (ピクセル)。isExternal=true の場合、このパラメーターは無効です。 |
fps | int | 15 | キャプチャフレームレート。isExternal=true の場合、このパラメーターは無効です (ペースはフレーム配信によって決まります)。 |
isExternal | bool | false | 外部キャプチャを使用するかどうかを指定します。true の場合、カメラは開かれず、フレームは pushExternalVideoCapturedFrame によって供給されます。 |
cameraDirection はモバイル専用フィールドであり、デスクトッププラットフォーム (Linux を含む) には存在しません。Linux では、常に isExternal = true に設定することを推奨します。AoqVideoCodecConfig
エンコーディングとデコーディングは同じ構造を共有します。デコーディングの場合、trackType / codecType / width / height / fps / bitrate のみが有効であり、サブスクリプション提案としてネゴシエーションに参加します。minBitrate / keyframeInterval / mirrorMode / orientationMode / isExternal はエンコーディングにのみ使用されます。
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
isExternal | bool | false | 外部エンコーディングモード。true の場合、エンコードされたフレームをプッシュし、SDK はキャプチャやエンコーディングを実行しません。 |
trackType | AoqTrackType | AoqTrackTypeVideo | トラックタイプ |
codecType | AoqEncoderType | AoqEncoderTypeVideoH264 | エンコーディングタイプ |
width | int | 540 | 解像度の幅 (ピクセル) |
height | int | 960 | 解像度の高さ (ピクセル) |
fps | int | 5 | フレームレート |
bitrate | int | 500000 | 初期ビットレート (bit/s) |
minBitrate | int | 128000 | 最小ビットレート (bit/s) |
keyframeInterval | int | 2 | キーフレーム間隔 (秒) |
mirrorMode | AoqMirrorMode | AoqMirrorModeDisabled | ミラーモード |
orientationMode | AoqOrientationMode | AoqOrientationModeAuto | 印刷の向きモード |
AoqVideoPixelFormat
列挙値 | 値 | 説明 | Linux でのサポート |
|---|---|---|---|
AoqVideoPixelFormatUnknown | 0 | 不明なフォーマット | - |
AoqVideoPixelFormatI420 | 1 | I420 (YUV プレーナ形式) | サポート |
AoqVideoPixelFormatNV12 | 2 | NV12 (YUV セミプレーナ形式) | サポート |
AoqVideoPixelFormatNV21 | 3 | NV21 (YUV セミプレーナ形式) | サポート |
AoqVideoPixelFormatBGRA | 4 | BGRA (32 ビット) | サポート |
AoqVideoPixelFormatRGBA | 5 | RGBA (32 ビット) | サポート |
AoqVideoPixelFormatCVPixelBuffer | 6 | Apple プラットフォームでのみ有効 | 非サポート |
AoqVideoPixelFormatTextureOES | 7 | Android 外部 OES テクスチャ | 非サポート |
AoqVideoPixelFormatTexture2D | 8 | Android 通常 2D テクスチャ | 非サポート |
AoqVideoFrame
外部の生ビデオフレーム。pushExternalVideoCapturedFrame と IVideoFrameObserver コールバックの両方で使用されます。
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
format | AoqVideoPixelFormat | AoqVideoPixelFormatUnknown | ピクセルフォーマット |
width | int | 0 | 幅 (ピクセル) |
height | int | 0 | 高さ (ピクセル) |
dataPtr | void\* | 0 | パック形式データ (NV12 / NV21 / BGRA / RGBA) |
dataSize | int | 0 | パックデータのバイト数 |
dataY | void\* | 0 | I420 Y プレーン |
dataU | void\* | 0 | I420 U プレーン |
dataV | void\* | 0 | I420 V プレーン |
strideY | int | 0 | Y プレーンのストライド |
strideU | int | 0 | U プレーンのストライド |
strideV | int | 0 | V プレーンのストライド |
nativePixelBuffer | void\* | 0 | Apple ゼロコピー (CVPixelBufferRef) に使用されます。このフィールドは Linux では使用されません。 |
textureId | int | 0 | Android テクスチャ ID。このフィールドは Linux では使用されません。 |
transformMatrix | float 配列 (16 要素) | すべてゼロ | テクスチャ変換マトリックス (行優先 4x4)。このフィールドは Linux では使用されません。 |
timeStamp | int64_t | 0 | タイムスタンプ (ミリ秒)。0 の場合、SDK はローカル時間で埋めます。 |
AoqVideoCodecType
列挙値 | 値 | 説明 |
|---|---|---|
AoqVideoCodecTypeJPEG | 0 | JPEG エンコーディング |
AoqVideoEncodedFrame
外部でエンコードされたビデオフレーム。呼び出し元がエンコーディングを実行し、SDK は再エンコードせずにフレームを直接パッケージ化して送信します。
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
codec | AoqVideoCodecType | AoqVideoCodecTypeJPEG | コーデックフォーマット |
data | void\* | nullptr | エンコードされたデータへのポインター |
dataSize | int | 0 | エンコードされたデータのバイト数 |
width | int | 0 | 幅 (ピクセル) |
height | int | 0 | 高さ (ピクセル) |
timeStamp | int64_t | 0 | タイムスタンプ (ミリ秒)。0 の場合、SDK はローカル時間で埋めます。 |
AoqVideoDeviceStateCode
列挙値 | 値 | 説明 |
|---|---|---|
AoqVideoDeviceNone | 0 | 状態なし |
AoqVideoDeviceCaptureStarting | 1 | カメラ起動中 |
AoqVideoDeviceCaptureStarted | 2 | カメラ起動済み |
AoqVideoDeviceCaptureStopping | 3 | カメラ停止中 |
AoqVideoDeviceCaptureStopped | 4 | カメラ停止済み |
AoqVideoDeviceCaptureFail | 5 | カメラの起動に失敗しました (例:権限が拒否された、またはデバイスが利用できない) |
AoqVideoDeviceState
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
state | AoqVideoDeviceStateCode | AoqVideoDeviceNone | デバイスキャプチャ操作状態 |
reason | int | 0 | エラー理由コード。AoqErrorCode をご参照ください。 |
AoqVideoSource
列挙値 | 値 | 説明 |
|---|---|---|
AoqVideoSourceCaptured | 0 | 前処理前のキャプチャされたビデオデータ |
AoqVideoSourcePreEncode | 1 | エンコード前、前処理後のビデオデータ |
AoqVideoSourceRemote | 2 | デコード後、レンダリング前のリモートビデオデータ |
AoqVideoSourceMax | 3 | プレースホルダー、使用しないでください |
AoqVideoObserverMode
列挙値 | 値 | 説明 |
|---|---|---|
AoqVideoObserverModeReadOnly | 0 | 読み取り専用モード |
AoqVideoObserverModeReadWrite | 1 | 読み書きモード (I420 / CVPixelBuffer のみサポート) |
AoqVideoObserverAlignment
列挙値 | 値 | 説明 |
|---|---|---|
AoqVideoObserverAlignmentDefault | 0 | デフォルトのアライメント |
AoqVideoObserverAlignmentEven | 1 | 偶数アライメント |
AoqVideoObserverAlignment4 | 2 | 4 バイトアライメント |
AoqVideoObserverAlignment8 | 3 | 8 バイトアライメント |
AoqVideoObserverAlignment16 | 4 | 16 バイトアライメント |
AoqVideoObserverConfig
フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
format | AoqVideoPixelFormat | AoqVideoPixelFormatI420 | コールバックデータの期待されるピクセルフォーマット |
alignment | AoqVideoObserverAlignment | AoqVideoObserverAlignmentDefault | 幅のアライメントポリシー |
mode | AoqVideoObserverMode | AoqVideoObserverModeReadOnly | コールバックモード。ReadWrite は I420 / CVPixelBuffer のみサポートされます。 |
mirrorApplied | bool | false | コールバックデータをミラーリングするかどうかを指定します |