Skip to main content

AOQ Client SDK Electron API リファレンス

このトピックでは、AOQ クライアント SDK for Electron の TypeScript API、イベント、およびデータ型について説明します。この SDK は macOS x64/arm64 および Windows x64 をサポートし、Node.js 16 以降が必要です。

AOQ SDK は汎用の動画 API を提供します。Qwen-Audio-Realtime は動画の入出力をサポートしていません。その他のモデルのメディア機能は、それぞれのアクセスドキュメントをご覧ください。
適用パッケージ: aoq-electron-sdk (npm)。サポートプラットフォーム: macOS (x64 / arm64) および Windows x64。Node.js >= 16。

API インデックス

エンジンのエントリーとライフサイクル

API

説明

createAoqClientEngine

エンジンラッパーインスタンス (モジュールレベルの遅延初期化シングルトン) を取得します

createEngine

ネイティブエンジンインスタンスを作成します

destroy

エンジンインスタンスを削除します

getVersion

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

connect

リレーサーバーに接続します

disconnect

サーバーから切断します

オーディオデバイス管理

API

説明

startAudioCapture

オーディオキャプチャデバイス (マイク) を開きます

stopAudioCapture

オーディオキャプチャデバイスを閉じます

muteAudioCapture

オーディオキャプチャをミュートまたはミュート解除します

startAudioPlayer

リモートオーディオを再生するためにオーディオレンダリングを開始します

stopAudioPlayer

オーディオレンダリングを停止します

pauseAudioPlayer

オーディオレンダリングを一時停止します (フェードアウト対応)

resumeAudioPlayer

オーディオレンダリングを再開します (フェードイン対応)

interruptAudioPlayer

現在のオーディオセッションを中断します

オーディオコーデック設定

API

説明

setAudioEncoderConfig

オーディオエンコーディングパラメーターを設定します

setAudioDecoderConfig

オーディオデコーディングパラメーターを設定します

ビデオデバイス管理

API

説明

startVideoCapture

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

stopVideoCapture

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

ビデオコーデックと外部入力

API

説明

setVideoEncoderConfig

ビデオエンコーディングパラメーターを設定します

setVideoDecoderConfig

ビデオデコーディングパラメーターを設定します

pushExternalVideoCapturedFrame

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

pushExternalVideoEncodedFrame

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

メディアストリーム制御

API

説明

enableSendMediaStream

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

オーディオファイルの再生

API

説明

startAudioFile

ローカルオーディオファイルのパブリッシングストリームへの再生を開始します

stopAudioFile

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

pauseAudioFile

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

resumeAudioFile

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

getAudioFileDuration

オーディオファイルの総再生時間を照会します

getAudioFileCurrentPosition

オーディオファイルの現在の再生位置を照会します

setAudioFilePositionMillis

オーディオファイルの再生位置を設定します (シーク)

setAudioFileVolume

オーディオファイルのボリュームを設定します

getAudioFileVolume

オーディオファイルの現在のボリュームを照会します

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

API

説明

addAudioExternalStream

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

removeAudioExternalStream

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

pushAudioExternalStreamData

外部オーディオの PCM データを供給します

setAudioExternalStreamVolume

外部オーディオストリームのボリュームを設定します

getAudioExternalStreamVolume

外部オーディオストリームのボリュームを照会します

clearAudioExternalStreamBuffer

外部オーディオストリームのバッファーをクリアします

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

API

説明

sendDataMsg

リアルタイムデータメッセージを送信します

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

API

説明

setAudioFrameObserver

オーディオフレームデータオブザーバーを有効または無効にします

enableAudioFrameObserver

指定された位置でのオーディオフレームコールバックを有効または無効にします

ローカルボリューム表示

API

説明

enableLocalAudioVolumeIndication

ローカルキャプチャボリューム表示コールバックを有効または無効にします

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

API

説明

setVideoFrameObserver

ビデオフレームデータオブザーバーを有効または無効にします

enableVideoFrameObserver

指定された位置でのビデオフレームコールバックを有効または無効にします

ビデオレンダリング (YUVCanvasRenderer)

API

説明

bind

canvas 要素をバインドします

unbind

バインドを解除し、イメージをクリアします

bound

現在バインディングが確立されているかどうかを照会します

drawFrame

I420 ビデオデータの 1 フレームを描画します

エンジンイベント (IAoqEngineEvents)

イベント

説明

onError

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

onWarning

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

onConnectionStatusChange

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

onStats

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

onAudioDeviceStateChanged

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

onAudioDeviceRouteChanged

オーディオ出力ルート変更コールバック

onAudioFileState

オーディオファイル再生ステータスコールバック

onLocalAudioVolumeIndication

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

onVideoDeviceStateChanged

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

onDataMsg

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

onCapturedAudioFrame

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

onProcessCapturedAudioFrame

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

onPublishAudioFrame

パブリッシングオーディオデータのコールバック

onPlaybackAudioFrame

再生オーディオデータのコールバック

onCapturedVideoFrame

キャプチャ後のローカルの生のビデオデータのコールバック

onPreEncodeVideoFrame

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

onRemoteVideoFrame

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

API の詳細

エンジンのエントリーとライフサイクル

createAoqClientEngine

エンジンラッパーインスタンスを取得します。これはモジュールレベルの遅延初期化シングルトンです。このメソッドを再度呼び出すと、同じインスタンスが返されます。これはネイティブエンジンのシングルトンセマンティクスと一致します。また、これはパッケージのデフォルトエクスポートでもあります。
import createAoqClientEngine from 'aoq-electron-sdk';
export function createAoqClientEngine(): IAoqClientEngine
戻り値: IAoqClientEngine エンジンインスタンス。このメソッドは JS ラッパーレイヤーとネイティブブリッジのみを作成することに注意してください。実際にエンジンを作成するには、createEngine() も呼び出す必要があります。

createEngine

ネイティブエンジンインスタンスを作成します。エンジンはグローバルシングルトンであるため、このメソッドを再度呼び出すと直接成功が返されます。
createEngine(config: AoqCreateConfig): number

パラメーター

型

説明

config

AoqCreateConfig

エンジン作成設定

戻り値: 成功の場合は 0。 -1 は、作成が失敗したか、パラメーターが有効な JSON ではないことを示します。
Windows では、createEngine() は現在の JS スレッドの libuv ループに 16 ms の Win32 メッセージポンプをアタッチし (カメラキャプチャに必要)、destroy() で停止します。したがって、createEngine() の後に JS スレッドを長時間同期的にブロックしないでください。

destroy

エンジンインスタンスを削除し、すべてのリソースを解放します。
destroy(): number
戻り値: 0 は成功を示し、非 0 は失敗を示します。エンジンが作成されていない場合、0 が返されます。

getVersion

現在の SDK バージョンを取得します。最初に createEngine() を呼び出す必要はありません。
getVersion(): string
戻り値: バージョン文字列 (例: "1.2.0")。バージョンが取得できない場合は空の文字列が返されます。

connect

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

パラメーター

型

説明

config

AoqConnectConfig

接続設定。トークン、SID、リレーアクセスポイントのリスト、パブリッシングおよびサブスクライブトラックのリストが含まれます

戻り値: 0 は、呼び出しがディスパッチされ、非同期で実行されることを示します。非 0 は、パラメーター検証が失敗したことを示します。接続結果は onConnectionStatusChange イベントによって通知されます。

disconnect

サーバーから切断し、接続に関連するリソースを解放します。
disconnect(): number
戻り値: 0 は、呼び出しがディスパッチされ、非同期で実行されることを示します。非 0 は失敗を示します。

オーディオデバイス管理

startAudioCapture

startAudioCapture(config: AoqAudioCaptureConfig): number
オーディオキャプチャデバイス (マイク) を開きます。最初のキャプチャはシステム権限リクエストをトリガーします。macOS では、アプリケーションの Info.plist ファイルに NSMicrophoneUsageDescription を宣言する必要があります。

stopAudioCapture

stopAudioCapture(): number
オーディオキャプチャデバイスを閉じます。

muteAudioCapture

muteAudioCapture(mute: boolean): number
オーディオキャプチャをミュートまたはミュート解除します。mute=true はミュート、false はミュート解除です。

startAudioPlayer

startAudioPlayer(config: AoqAudioPlaybackConfig): number
リモートオーディオを再生するためにオーディオレンダリングを開始します。

stopAudioPlayer / pauseAudioPlayer / resumeAudioPlayer

stopAudioPlayer(): number
pauseAudioPlayer(fadeMs: number): number
resumeAudioPlayer(fadeMs: number): number
fadeMs:フェードアウトまたはフェードインの持続時間 (ミリ秒)。0 は即時実行を示します。

interruptAudioPlayer

interruptAudioPlayer(trackType: AoqTrackType, fadeMs: number): number
現在のオーディオセッションを中断し、現在のセッションのバッファリングされたダウンリンクデータを破棄します。

パラメーター

型

説明

trackType

AoqTrackType

トラックタイプ

fadeMs

number

フェードアウトの持続時間 (ミリ秒)

オーディオコーデック設定

setAudioEncoderConfig(config: AoqAudioCodecConfig): number
setAudioDecoderConfig(config: AoqAudioCodecConfig): number
このメソッドは connect() の前に呼び出すことを推奨します。Opus (AoqEncoderTypeAudioOpus) を使用するには、PluginOpus プラグインが SDK に組み込まれているか、パッケージと共に配布されている必要があります。

ビデオデバイス管理

startVideoCapture(config: AoqVideoCaptureConfig): number
stopVideoCapture(): number
ビデオキャプチャデバイスを開閉します。macOS では、Info.plist に NSCameraUsageDescription を宣言する必要があります。config.isExternal=true の場合、カメラは開かれず、フレームは pushExternalVideoCapturedFrame によって配信されます。
Electron レンダラーは Chromium 環境であり、ネイティブビューを埋め込むことはできないため、setLocalView / setRemoteView / switchCamera は提供されていません。プレビューには、フレームオブザーバーと YUVCanvasRenderer を使用してください (2.13 をご参照ください)。

ビデオコーデックと外部入力

setVideoEncoderConfig(config: AoqVideoCodecConfig): number
setVideoDecoderConfig(config: AoqVideoCodecConfig): number
pushExternalVideoCapturedFrame(meta: AoqExternalVideoFrameMeta, buffer: Uint8Array): number
pushExternalVideoEncodedFrame(meta: AoqExternalVideoEncodedFrameMeta, buffer: Uint8Array): number

パラメーター

型

説明

meta

AoqExternalVideoFrameMeta / AoqExternalVideoEncodedFrameMeta

フレームメタデータ (ディメンション、フォーマット、タイムスタンプ)

buffer

Uint8Array

フレームデータ (ピクセルデータまたはエンコード済みデータ)

注意事項:
  • pushExternalVideoCapturedFrame は startVideoCapture({ isExternal: true }) の後にのみ消費されます。外部キャプチャが有効でない場合は 211 を、バッファーがいっぱいの場合は 210 を返します。
  • AoqVideoPixelFormatI420 とパック形式 (NV12 / NV21 / BGRA / RGBA) がサポートされています。I420 の場合、buffer はコンパクトレイアウト (stride = width) を使用し、Y/U/V プレーンを順番に連結する必要があります。
  • pushExternalVideoEncodedFrame は、最初に setVideoEncoderConfig({ isExternal: true }) を必要とします。有効でない場合は 212 を返します。現在、JPEG のみがサポートされています。
  • meta.timeStamp が 0 の場合、SDK はローカル時間でそれを埋めます。

メディアストリーム制御

enableSendMediaStream(trackType: AoqTrackType, enable: boolean): number
特定のローカルメディアストリームを送信するかどうかを指定します。初期化後に enableSendMediaStream(trackType, false) を呼び出し、onConnectionStatusChange が AoqConnectionStatusConnected をレポートした後にのみ送信を有効にすることを推奨します。

オーディオファイルの再生

startAudioFile(config: AoqAudioFileMixConfig): number
stopAudioFile(fileId: string): number
pauseAudioFile(fileId: string): number
resumeAudioFile(fileId: string): number
getAudioFileDuration(fileId: string): number
getAudioFileCurrentPosition(fileId: string): number
setAudioFilePositionMillis(fileId: string, positionMs: number): number
setAudioFileVolume(fileId: string, type: AoqAudioStreamDirection, volume: number): number
getAudioFileVolume(fileId: string, type: AoqAudioStreamDirection): number

パラメーター

型

説明

config

AoqAudioFileMixConfig

ファイルミキシング設定。fileId は設定フィールドとして渡されます。

fileId

string

ファイル識別子。呼び出し元によって定義されます。後続の API 呼び出しは、これを使用してファイルを特定します。

positionMs

number

ターゲットの再生位置 (ミリ秒)

type

AoqAudioStreamDirection

パブリッシングボリュームまたはローカル再生ボリューム

volume

number

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

戻り値の説明:
  • getAudioFileDuration / getAudioFileCurrentPosition はミリ秒数を返します。
  • getAudioFileVolume は現在のボリュームを返します。
  • 上記のゲッターは、エンジンが作成されていない場合、-1 を返します。
再生状態の変更は onAudioFileState イベントを通じて報告されます。

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

addAudioExternalStream(config: AoqAudioExternalStreamConfig): number
removeAudioExternalStream(streamId: string): number
pushAudioExternalStreamData(meta: AoqAudioExternalFrameMeta, buffer: Uint8Array): number
setAudioExternalStreamVolume(streamId: string, type: AoqAudioStreamDirection, volume: number): number
getAudioExternalStreamVolume(streamId: string, type: AoqAudioStreamDirection): number
clearAudioExternalStreamBuffer(streamId: string, fadeoutMs: number): number

パラメーター

型

説明

config

AoqAudioExternalStreamConfig

外部オーディオストリーム設定。streamId は設定フィールドとして渡されます。

streamId

string

ストリーム識別子。呼び出し元によって定義されます

meta

AoqAudioExternalFrameMeta

PCM フレームメタデータ。streamId はメタデータフィールドとして渡されます。

buffer

Uint8Array

PCM データ

fadeoutMs

number

バッファーがクリアされるときのフェードアウト時間 (ミリ秒)

注意事項:
  • pushAudioExternalStreamData は、バッファリングされた期間が maxBufferDuration を超えると 110 (外部オーディオバッファーがいっぱい) を返します。
  • getAudioExternalStreamVolume は現在のボリュームを返します。エンジンが作成されていない場合は -1 を返します。
  • clearAudioExternalStreamBuffer はネイティブ側で戻り値がなく、正常な呼び出しでは常に 0 を返します。

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

sendDataMsg(data: Uint8Array | string): number
リアルタイムデータメッセージを送信します。string を渡すと、送信前に内部で UTF-8 にエンコードされて Buffer になります。ピアからのメッセージは onDataMsg イベントコールバックを通じて報告されます。

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

setAudioFrameObserver(enable: boolean): number
enableAudioFrameObserver(params: AoqAudioObserverParams): number

パラメーター

型

説明

enable

boolean

true は組み込みオーディオフレームオブザーバーを登録し、false は登録を解除します

params

AoqAudioObserverParams

コールバックの位置、オン/オフ状態、コールバック形式を指定します

使用法:まず、setAudioFrameObserver(true) を呼び出してオブザーバーを登録します。次に、必要な各位置に対して enableAudioFrameObserver を呼び出します。データは対応するイベントを通じて配信されます。
engine.setAudioFrameObserver(true)
engine.enableAudioFrameObserver({
  enabled: true,
  audioSource: AoqAudioSource.AoqAudioSourceCaptured,
  sampleRate: 48000,
  channels: 1
})
engine.on('onCapturedAudioFrame', (frame) => { /* frame.buffer には PCM データが含まれます */ })
Electron 側のフレームオブザーバーは読み取り専用モードのみをサポートし、コールバックでのフレームデータの書き戻しはサポートしていません (ネイティブ側は ReadOnly に固定されています)。

ローカルボリューム表示

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

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

setVideoFrameObserver(enable: boolean): number
enableVideoFrameObserver(params: AoqVideoObserverParams): number

パラメーター

型

説明

enable

boolean

true は組み込みビデオフレームオブザーバーを登録し、false は登録を解除します

params

AoqVideoObserverParams

コールバックの位置、オン/オフ状態、ピクセルフォーマット、アライメントポリシーを指定します

コールバックデータは AoqVideoFrameEvent として onCapturedVideoFrame / onPreEncodeVideoFrame / onRemoteVideoFrame を通じて配信されます。I420 の場合、buffer はストライドに基づいて連結された Y/U/V プレーンです。他のパック形式は元のデータとして渡されます。同様に読み取り専用モードのみがサポートされています。

ビデオレンダリング (YUVCanvasRenderer)

SDK に組み込まれたソフトウェアレンダラーです。モバイルプラットフォームでの setLocalView / setRemoteView のプレビュー責任を担います。
import { YUVCanvasRenderer } from 'aoq-electron-sdk';

class YUVCanvasRenderer {
  bind(canvas: HTMLCanvasElement): void
  unbind(): void
  get bound(): boolean
  drawFrame(frame: AoqVideoFrameEvent): void
}

API

説明

bind

canvas をバインドします (再度バインドするとシンクが置き換えられます)

unbind

バインドを解除し、イメージをクリアします

bound

バインディングが確立されているかどうかを指定します

drawFrame

1 フレームを描画します。I420 のみがサポートされており、非 I420 形式、またはサイズやバッファー長が不十分な場合は、メソッドは何もせずに戻ります

const renderer = new YUVCanvasRenderer()
renderer.bind(document.getElementById('preview'))

engine.setVideoFrameObserver(true)
engine.enableVideoFrameObserver({
  enabled: true,
  videoSource: AoqVideoSource.AoqVideoSourceCaptured,
  format: AoqVideoPixelFormat.AoqVideoPixelFormatI420
})
engine.on('onCapturedVideoFrame', (frame) => renderer.drawFrame(frame))
レンダリングの塗りつぶしモード (ストレッチやクロップなど) については、CSS の object-fit プロパティを使用して canvas を制御します。

エンジンイベント (IAoqEngineEvents)

エンジンは EventEmitter<IAoqEngineEvents> を継承します。イベントは SDK からのすべての非同期通知の統一された出口であり、ネイティブの AoqEngineEventListener コールバックと 1 対 1 で対応します。関心のないイベントを登録する必要はありません。
engine.on('onError', (code, message) => {})
engine.off('onError', handler)
engine.once('onStats', (stats) => {})
engine.removeAllListeners()

onError

onError: (code: number, message: string) => void
エンジンエラーコールバック。code は AoqErrorCode の値に対応します (3.3 をご参照ください)。

onWarning

onWarning: (code: number, message: string) => void
エンジン警告コールバック。code は AoqWarningCode の値に対応します (3.3 をご参照ください)。

onConnectionStatusChange

onConnectionStatusChange: (status: AoqConnectionStatus) => void
接続ステータス変更コールバック。状態遷移: 切断済み -> 接続中 -> 接続済み / 失敗 -> 切断済み。

onStats

onStats: (stats: AoqStats) => void
エンジン統計コールバック。SDK は、オーディオとビデオのパブリッシングおよびサブスクライブ統計、およびネットワーク統計を定期的に報告します。これらを使用して、通話品質とネットワークステータスをリアルタイムで監視し、オーディオとビデオの問題を診断できます。

パラメーター

型

説明

stats

AoqStats

オーディオ、ビデオ、データメッセージのパブリッシングおよびサブスクライブ統計とネットワーク統計

onAudioDeviceStateChanged

onAudioDeviceStateChanged: (state: AoqAudioDeviceState) => void
オーディオデバイスのキャプチャおよび再生操作ステータスの変更に関するコールバック。

onAudioDeviceRouteChanged

onAudioDeviceRouteChanged: (routeType: number) => void
オーディオ出力ルート変更コールバック。routeType は AoqAudioDeviceRouteType の値に対応します (3.4 をご参照ください)。

onAudioFileState

onAudioFileState: (state: AoqAudioFileState) => void
オーディオファイル再生ステータスのコールバック。

onLocalAudioVolumeIndication

onLocalAudioVolumeIndication: (volume: AoqAudioVolume) => void
ローカルキャプチャボリューム表示コールバック。有効にするには、enableLocalAudioVolumeIndication を呼び出します。

onVideoDeviceStateChanged

onVideoDeviceStateChanged: (state: AoqVideoDeviceState) => void
ビデオデバイスのキャプチャ操作ステータスの変更に関するコールバック。

onDataMsg

onDataMsg: (data: Uint8Array) => void
受信したリアルタイムデータメッセージのコールバック。data はネイティブ側でコピーされた Buffer であり、非同期で安全に保持できます。テキストメッセージの場合、Buffer.from(data).toString() を使用してデータを文字列に変換します。

オーディオフレームイベント

onCapturedAudioFrame:        (frame: AoqAudioFrameEvent) => void  /* 生のキャプチャデータ */
onProcessCapturedAudioFrame: (frame: AoqAudioFrameEvent) => void  /* 3A 処理後のデータ */
onPublishAudioFrame:         (frame: AoqAudioFrameEvent) => void  /* パブリッシングデータ */
onPlaybackAudioFrame:        (frame: AoqAudioFrameEvent) => void  /* 再生データ */
最初に setAudioFrameObserver(true) と enableAudioFrameObserver を呼び出して有効にする必要があります。

ビデオフレームイベント

onCapturedVideoFrame:  (frame: AoqVideoFrameEvent) => void  /* キャプチャ後、前処理前 */
onPreEncodeVideoFrame: (frame: AoqVideoFrameEvent) => void  /* エンコード前、前処理後 */
onRemoteVideoFrame:    (frame: AoqVideoFrameEvent) => void  /* リモート、デコード後、レンダリング前 */
最初に setVideoFrameObserver(true) と enableVideoFrameObserver を呼び出して有効にする必要があります。フレームイベントは読み取り専用です。コールバック内の buffer への変更は SDK に書き戻されません。
イベントコールバックでの重い計算は避けてください:ネイティブコールバックは非同期スレッドを通じて JS メインスレッドにディスパッチされ、高頻度のフレームイベントでの時間のかかる操作はバックログを引き起こします。

データ型と列挙型

すべての型はパッケージのルートからエクスポートされるため、import { ... } from 'aoq-electron-sdk' を直接使用できます。列挙型は TypeScript の enum 型であり、ランタイムで利用可能ですが、インターフェイス (interface) は型制約のみです。オプションとしてマークされたフィールドが指定されていない場合、表のデフォルト値が使用されます。

一般的な種類

AoqCreateConfig

フィールド

型

必須

デフォルト値

説明

workDir

string

いいえ

""

SDK の作業ディレクトリ (ログおよび一時ファイル用)

enableDumpAudio

boolean

いいえ

false

オーディオデータを保存するかどうかを指定します (デバッグ用)

extras

string

いいえ

""

拡張パラメーター (JSON 文字列)

Android の isBTScoMode フィールドはモバイル専用フィールドであり、Electron では提供されていません。

AoqConnectConfig

フィールド

型

必須

デフォルト値

説明

token

string

はい

-

接続認証トークン

sid

string

はい

-

セッション ID

certFingerprint

string

いいえ

""

サーバー証明書の指紋

workspaceIdHash

string

いいえ

なし

ワークスペース ID ハッシュ。空の文字列はパラメーターを渡さないことと同等です。

relayEndpoints

Array

はい

-

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

publishTracks

Array

はい

-

ローカルでパブリッシュされたトラックのリスト

subscribeTracks

Array

はい

-

ローカルでサブスクライブされたトラックのリスト

AoqRelayEndpoint

フィールド

型

必須

デフォルト値

説明

routeIndex

number

いいえ

-1

ルートインデックス

endpoint

string

はい

-

リレーサーバーのドメイン名または IP アドレス

port

number

はい

-

リレーサーバーのポート

AoqTrackParam

フィールド

型

必須

デフォルト値

説明

trackType

AoqTrackType

はい

-

トラックタイプ

trackMode

AoqTrackMode

いいえ

AoqTrackModeSegment

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

統計タイプ

AoqStats

エンジン統計の概要。これは onStats を通じて定期的に報告されます。配列フィールドはデータがない場合は空の配列になり、networkStats はデータがない場合は配信されません。

フィールド

型

説明

audioPublishStats

Array

オーディオのパブリッシング統計

videoPublishStats

Array

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

dataMsgPublishStats

Array

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

audioSubscribeStats

Array

オーディオのサブスクライブ統計

videoSubscribeStats

Array

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

dataMsgSubscribeStats

Array

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

networkStats

AoqNetworkStats

ネットワーク統計

AoqAudioPublishStats

フィールド

型

説明

trackType

AoqTrackType

トラックタイプ

bitrate

number

ビットレート (bit/s)

bytes

number

累積送信バイト数

encodeVolume

number

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

AoqAudioSubscribeStats

フィールド

型

説明

trackType

AoqTrackType

トラックタイプ

bitrate

number

ビットレート (bit/s)

bytes

number

累積受信バイト数

playVolume

number

再生ボリューム

AoqVideoPublishStats

フィールド

型

説明

trackType

AoqTrackType

トラックタイプ

bitrate

number

ビットレート (bit/s)

bytes

number

累積送信バイト数

encodeFps

number

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

AoqVideoSubscribeStats

フィールド

型

説明

trackType

AoqTrackType

トラックタイプ

bitrate

number

ビットレート (bit/s)

bytes

number

累積受信バイト数

decodeFps

number

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

renderFps

number

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

AoqDataMsgPublishStats / AoqDataMsgSubscribeStats

フィールド

型

説明

trackType

AoqTrackType

トラックタイプ

bitrate

number

ビットレート (bit/s)

bytes

number

累積送受信バイト数

AoqNetworkStats

フィールド

型

説明

sendBitrate

number

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

sendBytes

number

累積送信バイト数

recvBitrate

number

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

recvBytes

number

累積受信バイト数

loss

number

パケット損失率 (0 から 100)

rtt

number

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

列挙型

AoqTrackType

列挙値

値

説明

AoqTrackTypeAudio

0

オーディオトラック

AoqTrackTypeVideo

1

ビデオトラック

AoqTrackTypeData

2

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

AoqTrackMode

列挙値

値

説明

AoqTrackModeSegment

0

セグメント化:データは、文などのセマンティックセグメントでパッケージ化され、配信されます。

AoqTrackModeStream

1

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

AoqEncoderType

列挙値

値

説明

AoqEncoderTypeUnknown

0

不明なフォーマット

AoqEncoderTypeAudioPCM

1

オーディオ PCM

AoqEncoderTypeAudioOpus

2

オーディオ Opus (プラグインベース、PluginOpus が必要)

AoqEncoderTypeVideoH264

3

ビデオ H.264

AoqEncoderTypeVideoJpeg

4

ビデオ JPEG

AoqEncoderTypeDataText

5

メッセージテキスト

AoqConnectionStatus

列挙値

値

説明

AoqConnectionStatusDisconnected

0

切断済み

AoqConnectionStatusConnecting

1

接続中

AoqConnectionStatusConnected

2

接続済み

AoqConnectionStatusFailed

3

接続失敗

AoqMirrorMode

列挙値

値

説明

AoqMirrorModeDisabled

0

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

AoqMirrorModeEnabled

1

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

AoqOrientationMode

列挙値

値

説明

AoqOrientationModeAuto

0

自動フィット

AoqOrientationModePortrait

1

ポートレート

AoqOrientationModeLandscape

2

ランドスケープ

AoqErrorCode

エラーコードはネイティブレイヤーで定義されています。onError の code パラメーターと API の戻り値は両方ともこれらの値を使用します (TS レイヤーはこれらを enum としてエクスポートしません)。

列挙値

値

説明

AoqErrorCodeOK

0

成功

AoqErrorCodeParamInvalid

1

無効なパラメーター

AoqErrorCodeStateInvalid

2

無効な状態

AoqErrorCodeUnSupport

3

現在のプラットフォームまたは現在のモードではサポートされていません

AoqErrorCodeAudio

100

一般的なオーディオエラー

AoqErrorCodeAudioExternalBufferFull

110

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

AoqErrorCodeAudioDevice

120

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

AoqErrorCodeAudioDeviceRecordingAuthFailed

121

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

AoqErrorCodeAudioDeviceRecordingOccupied

122

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

AoqErrorCodeAudioDeviceRecordingBackgroundStart

123

バックグラウンドでの録音開始に失敗しました

AoqErrorCodeAudioDeviceRecordingStartFail

124

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

AoqErrorCodeAudioDevicePlayoutOccupied

125

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

AoqErrorCodeAudioDevicePlayoutBackgroundStart

126

バックグラウンドでの再生開始に失敗しました

AoqErrorCodeAudioDevicePlayoutStartFail

127

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

AoqErrorCodeVideo

200

一般的なビデオエラー

AoqErrorCodeVideoExternalBufferFull

210

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

AoqErrorCodeVideoExternalCaptureNotEnabled

211

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

AoqErrorCodeVideoExternalEncoderNotEnabled

212

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

AoqErrorCodeVideoDevice

220

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

AoqErrorCodeVideoDeviceCameraOpenFail

221

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

AoqErrorCodeVideoDeviceCameraAuthFailed

222

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

AoqErrorCodeVideoDeviceCameraOccupied

223

カメラが使用中です

AoqErrorCodeVideoDeviceCameraRunningError

224

カメラのランタイム例外

AoqErrorCodeVideoCodec

230

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

AoqErrorCodeVideoCodecEncoderInitFail

231

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

AoqErrorCodeVideoRender

240

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

AoqErrorCodeVideoRenderCreateFail

241

ビデオレンダリングの作成に失敗しました

AoqErrorCodeVideoRenderDrawError

242

ビデオレンダリングの描画エラー

上記のネイティブエラーコードに加えて、Electron レイヤーは、エンジンが作成されていないか破棄されている場合、またはパラメーターが有効な JSON でない場合に -1 を返します。

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

ビデオレンダリングがダウングレードされました

オーディオタイプ

AoqAudioCaptureConfig

フィールド

型

必須

デフォルト値

説明

isExternal

boolean

いいえ

false

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

channel

number

いいえ

1

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

AoqAudioPlaybackConfig

フィールド

型

必須

デフォルト値

説明

isExternal

boolean

いいえ

false

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

channel

number

いいえ

1

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

isVoipMode / isDefaultSpeaker はモバイル専用フィールドであり、Electron では提供されていません。

AoqAudioCodecConfig

フィールド

型

必須

デフォルト値

説明

trackType

AoqTrackType

いいえ

AoqTrackTypeAudio

トラックタイプ

codecType

AoqEncoderType

いいえ

AoqEncoderTypeAudioPCM

コーデックフォーマット

sampleRate

number

いいえ

48000

サンプルレート (Hz)。エンコーディングでは、Opus 8/16/48K と PCM 8/16/32/48K がサポートされています。デコーディングでは、24K が追加でサポートされていますが、セグメントモードのみです。

channel

number

いいえ

1

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

bitrate

number

いいえ

32000

ビットレート (bit/s)

AoqAudioDeviceRouteType

次の表は、onAudioDeviceRouteChanged の有効な routeType 値をリストしています。これらの値はネイティブレイヤーによって定義され、TypeScript レイヤーによって enum としてエクスポートされません。

列挙値

値

説明

AoqAudioDeviceRouteDefault

0

デフォルトルート

AoqAudioDeviceRouteHeadset

1

マイク付きヘッドフォン

AoqAudioDeviceRouteEarpiece

2

レシーバー

AoqAudioDeviceRouteHeadsetNoMic

3

マイクなしヘッドフォン

AoqAudioDeviceRouteSpeakerPhone

4

スピーカー

AoqAudioDeviceRouteUsb

5

USB オーディオデバイス

AoqAudioDeviceRouteBluetooth

6

Bluetooth SCO モード

AoqAudioDeviceRouteBluetoothA2dp

7

Bluetooth A2DP モード

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

デバイス動作状況

reason

number

エラー理由コード。AoqErrorCode をご参照ください。

オーディオファイルタイプ

AoqAudioFileMixConfig

フィールド

型

必須

デフォルト値

説明

fileId

string

はい

-

ファイル識別子。後続の API 呼び出しは、これを使用してファイルを特定します。

fileName

string

はい

-

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

cycles

number

いいえ

-1

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

startPosMs

number

いいえ

0

再生開始位置 (ミリ秒)

publishVolume

number

いいえ

100

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

playoutVolume

number

いいえ

100

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

AoqAudioFileStateCode

列挙値

値

説明

AoqAudioFileNone

0

状態なし

AoqAudioFileStarted

1

再生開始

AoqAudioFileStopped

2

再生停止

AoqAudioFilePaused

3

再生一時停止

AoqAudioFileResumed

4

再生再開

AoqAudioFileEnded

5

再生終了

AoqAudioFileBuffering

6

再生バッファリング中

AoqAudioFileBufferingEnd

7

バッファリング終了

AoqAudioFileFailed

8

再生失敗

AoqAudioFileErrorCode

次の表は、有効な AoqAudioFileState.errorCode の値を示しています。これらの値はネイティブレイヤーで定義され、TypeScript レイヤーでは number 値として配信されます。

列挙値

値

説明

AoqAudioFileNoError

0

エラーなし

AoqAudioFileOpenFailed

1

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

AoqAudioFileDecodeFailed

2

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

AoqAudioFileState

フィールド

型

説明

fileId

string

ファイル識別子

stateCode

AoqAudioFileStateCode

ファイル再生ステータスコード

errorCode

number

ファイルエラーコード。AoqAudioFileErrorCode をご参照ください。

外部オーディオストリームタイプ

AoqAudioStreamDirection

列挙値

値

説明

AoqAudioStreamPublish

0

パブリッシングストリーム

AoqAudioStreamPlayout

1

再生ストリーム (ローカル再生)

AoqAudioExternalStreamConfig

フィールド

型

必須

デフォルト値

説明

streamId

string

はい

-

ストリーム識別子

trackType

AoqTrackType

いいえ

AoqTrackTypeAudio

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

codecType

AoqEncoderType

いいえ

AoqEncoderTypeAudioPCM

オーディオストリームフォーマット。現在 PCM がサポートされています。

channels

number

いいえ

1

チャンネル数。パブリッシングストリームのコーデックによって制限されます。1 と 2 がサポートされています。

sampleRate

number

いいえ

48000

サンプルレート (Hz)。8、12、16、24、32、44.1、48、64、88.2、96、176.4、192K がサポートされています。

playoutVolume

number

いいえ

100

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

publishVolume

number

いいえ

100

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

maxBufferDuration

number

いいえ

600000

最大バッファー時間 (ミリ秒)。有効な値: 100 以上。この値を超えるとプッシュは失敗します。

enable3A

boolean

いいえ

false

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

AoqAudioExternalFrameMeta

外部オーディオフレームのメタデータ。PCM データは buffer パラメーターを介して個別に渡されます。

フィールド

型

必須

デフォルト値

説明

streamId

string

はい

-

ターゲット外部オーディオストリームの識別子

numOfSamples

number

はい

0

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

bytesPerSample

number

はい

2

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

numOfChannels

number

はい

1

チャンネル数

samplesPerSec

number

はい

48000

1 秒あたりのサンプル数 (サンプルレート)

pushSequence

number

いいえ

0

PCM 入力ラウンド

timeStamp

number

いいえ

0

タイムスタンプ

AoqAudioFrameEvent

オーディオフレームオブザーバーのイベントデータ。

フィールド

型

説明

trackType

AoqTrackType

トラックタイプ

numOfSamples

number

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

bytesPerSample

number

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

numOfChannels

number

チャンネル数

samplesPerSec

number

1 秒あたりのサンプル数 (サンプルレート)

timeStamp

number

タイムスタンプ

autoGenMute

boolean

true は SDK によって生成された無音データを示します

buffer

Uint8Array

オーディオ PCM データ (ネイティブ側で既にコピー済み)

AoqAudioSource

列挙値

値

説明

AoqAudioSourceCaptured

0

キャプチャされたオーディオデータ

AoqAudioSourceProcessCaptured

1

3A 処理後のオーディオデータ

AoqAudioSourcePublish

2

パブリッシュするオーディオデータ (接続成功が必要)

AoqAudioSourcePlayback

3

再生するオーディオデータ

AoqAudioObserverParams

フィールド

型

必須

デフォルト値

説明

enabled

boolean

はい

false

この位置でのコールバックを有効または無効にします

audioSource

AoqAudioSource

はい

AoqAudioSourceCaptured

コールバック位置

sampleRate

number

いいえ

48000

コールバックオーディオのサンプルレート (Hz)。レートが一致しない場合はリサンプリングが実行されます。

channels

number

いいえ

1

コールバック内のオーディオチャンネル数。1 と 2 がサポートされています。

コールバックモードは読み取り専用に固定されています。Electron は読み書きモードを提供しません。

AoqAudioVolumeIndicationConfig

フィールド

型

必須

デフォルト値

説明

interval

number

いいえ

0

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

smooth

number

いいえ

3

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

AoqAudioVolume

フィールド

型

説明

volume

number

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

ビデオタイプ

AoqVideoCaptureConfig

フィールド

型

必須

デフォルト値

説明

width

number

いいえ

1280

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

height

number

いいえ

720

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

fps

number

いいえ

15

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

isExternal

boolean

いいえ

false

外部キャプチャを使用するかどうかを指定します。true の場合、カメラは開かれません。

cameraDirection はモバイル専用フィールドであり、デスクトッププラットフォームには存在しません。

AoqVideoCodecConfig

エンコーディングとデコーディングは同じ構造を共有します (setVideoEncoderConfig / setVideoDecoderConfig)。

フィールド

型

必須

デフォルト値

説明

isExternal

boolean

いいえ

false

このパラメーターが true の場合、SDK はキャプチャやエンコーディングを実行せず、フレームは pushExternalVideoEncodedFrame によって直接プッシュされます。

trackType

AoqTrackType

いいえ

AoqTrackTypeVideo

トラックタイプ

codecType

AoqEncoderType

いいえ

AoqEncoderTypeVideoH264

コーデックフォーマット

width

number

いいえ

540

エンコーディング幅 (ピクセル)

height

number

いいえ

960

エンコーディング高さ (ピクセル)

fps

number

いいえ

5

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

bitrate

number

いいえ

500000

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

minBitrate

number

いいえ

128000

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

keyframeInterval

number

いいえ

2

キーフレーム間隔 (秒)

mirrorMode

AoqMirrorMode

いいえ

AoqMirrorModeDisabled

ミラーモード

orientationMode

AoqOrientationMode

いいえ

AoqOrientationModeAuto

ビデオの向きモード

AoqVideoPixelFormat

Electron 側でサポートされているピクセルフォーマット (モバイルプラットフォームのテクスチャ / CVPixelBuffer フォーマットを除く)。

列挙値

値

説明

AoqVideoPixelFormatUnknown

0

不明なフォーマット

AoqVideoPixelFormatI420

1

I420 (YUV プレーナーフォーマット)

AoqVideoPixelFormatNV12

2

NV12 (YUV セミプレーナーフォーマット)

AoqVideoPixelFormatNV21

3

NV21 (YUV セミプレーナーフォーマット)

AoqVideoPixelFormatBGRA

4

BGRA (32 ビット)

AoqVideoPixelFormatRGBA

5

RGBA (32 ビット)

AoqExternalVideoFrameMeta

外部の生ビデオフレームのメタデータ。ピクセルデータは buffer パラメーターを介して個別に渡されます。

フィールド

型

必須

デフォルト値

説明

trackType

AoqTrackType

いいえ

AoqTrackTypeVideo

トラックタイプ

format

AoqVideoPixelFormat

はい

-

ピクセルフォーマット

width

number

はい

-

ビデオ幅 (ピクセル)

height

number

はい

-

ビデオ高さ (ピクセル)

timeStamp

number

いいえ

0

タイムスタンプ (ミリ秒)。0 の場合、SDK はローカル時間でそれを埋めます。

format = I420 の場合、buffer はコンパクトレイアウト (stride = width) を使用し、Y/U/V プレーンを順番に連結する必要があります。他のパック形式の場合は、フレーム全体のバイトを直接渡します。

AoqVideoCodecType

列挙値

値

説明

AoqVideoCodecTypeJPEG

0

JPEG エンコーディング

AoqExternalVideoEncodedFrameMeta

外部でエンコードされたビデオフレームのメタデータ。エンコードされたデータは buffer パラメーターを介して個別に渡されます。

フィールド

型

必須

デフォルト値

説明

trackType

AoqTrackType

いいえ

AoqTrackTypeVideo

トラックタイプ

codec

AoqVideoCodecType

いいえ

AoqVideoCodecTypeJPEG

コーデックフォーマット

width

number

はい

-

幅 (ピクセル)

height

number

はい

-

高さ (ピクセル)

timeStamp

number

いいえ

0

タイムスタンプ (ミリ秒)。0 の場合、SDK はローカル時間でそれを埋めます。

AoqVideoDeviceStateCode

列挙値

値

説明

AoqVideoDeviceNone

0

状態なし

AoqVideoDeviceCaptureStarting

1

キャプチャ開始中

AoqVideoDeviceCaptureStarted

2

キャプチャ開始

AoqVideoDeviceCaptureStopping

3

キャプチャ停止中

AoqVideoDeviceCaptureStopped

4

キャプチャ停止

AoqVideoDeviceCaptureFail

5

キャプチャ失敗 (例:権限拒否またはデバイスが利用不可)

AoqVideoDeviceState

フィールド

型

説明

state

AoqVideoDeviceStateCode

デバイスキャプチャ操作ステータス

reason

number

エラー理由コード。AoqErrorCode をご参照ください。

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

AoqVideoSource

列挙値

値

説明

AoqVideoSourceCaptured

0

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

AoqVideoSourcePreEncode

1

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

AoqVideoSourceRemote

2

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

AoqVideoObserverAlignment

列挙値

値

説明

AoqVideoObserverAlignmentDefault

0

デフォルトのアライメント

AoqVideoObserverAlignmentEven

1

偶数アライメント

AoqVideoObserverAlignment4

2

4 バイトアライメント

AoqVideoObserverAlignment8

3

8 バイトアライメント

AoqVideoObserverAlignment16

4

16 バイトアライメント

AoqVideoObserverParams

フィールド

型

必須

デフォルト値

説明

enabled

boolean

はい

false

この位置でのコールバックを有効または無効にします

videoSource

AoqVideoSource

はい

AoqVideoSourceCaptured

コールバック位置

format

AoqVideoPixelFormat

いいえ

AoqVideoPixelFormatI420

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

alignment

AoqVideoObserverAlignment

いいえ

AoqVideoObserverAlignmentDefault

幅のアライメントポリシー

mirrorApplied

boolean

いいえ

false

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

コールバックモードは読み取り専用に固定されています。Electron は読み書きモードを提供しません。組み込みの YUVCanvasRenderer を使用してレンダリングする場合は、I420 を選択してください。

AoqVideoFrameEvent

ビデオフレームオブザーバーのイベントデータ。

フィールド

型

説明

trackType

AoqTrackType

トラックタイプ

format

AoqVideoPixelFormat

ピクセルフォーマット

width

number

幅 (ピクセル)

height

number

高さ (ピクセル)

strideY

number

Y プレーンのストライド (I420 のみ有効)

strideU

number

U プレーンのストライド (I420 のみ有効)

strideV

number

V プレーンのストライド (I420 のみ有効)

timeStamp

number

タイムスタンプ (ミリ秒)

buffer

Uint8Array

フレームデータ。I420 の場合、ストライドに基づいて連結された Y/U/V プレーンです。他のパック形式は元のデータとして渡されます。

データメッセージタイプ

Electron は AoqDataMsg ラッパータイプを使用しません。データメッセージはバイナリデータとして直接送受信されます:

方向

型

説明

送信

Uint8Array または string

sendDataMsg(data)。文字列は UTF-8 でエンコードされます。

受信

Uint8Array

onDataMsg(data)。データはネイティブ側で既にコピーされており、非同期で保持できます。