Skip to main content

AOQ Client SDK Windows API 參考

本文介紹 AOQ Client SDK Windows 版的 C++ 介面、回調和資料類型,協助您在 Windows 應用中接入即時音視頻和資料訊息能力。

SDK 以全域單例方式持有引擎執行個體,通過 AoqClientEngine 類對外提供介面,通過 AoqEngineEventListener 抽象類別統一回調非同步事件。所有類型定義位於 AoqClientSdk 命名空間,標頭檔為 AoqClientEngine.h。
所有 const char* 字串由調用方負責生命週期,至少需保持到相應調用返回後,引擎內部將按需拷貝。

介面目錄

引擎生命週期

介面

簡介

createEngine

建立引擎執行個體(單例模式)

destroy

銷毀引擎執行個體

getVersion

擷取 SDK 版本號碼

connect

串連 Relay 伺服器

disconnect

斷開伺服器串連

音訊裝置管理

介面

簡介

startAudioCapture

開啟音頻採集裝置(麥克風)

stopAudioCapture

關閉音頻採集裝置

muteAudioCapture

靜音或取消靜音音頻採集

startAudioPlayer

開始音頻渲染(播放遠端音頻)

stopAudioPlayer

停止音頻渲染

pauseAudioPlayer

暫停音頻渲染(支援淡出)

resumeAudioPlayer

恢複音頻渲染(支援淡入)

interruptAudioPlayer

打斷本輪語音通話

enableLocalAudioVolumeIndication

開啟或關閉本地採集音量提示

音頻編碼配置

介面

簡介

setAudioEncoderConfig

設定音頻編碼參數

setAudioDecoderConfig

設定音頻解碼參數

視頻裝置管理

介面

簡介

startVideoCapture

開啟視頻採集裝置(網路攝影機)

stopVideoCapture

關閉視頻採集裝置

setLocalView

設定或移除本地視頻渲染視窗

setRemoteView

設定或移除遠端視頻渲染視窗

視頻編碼與外部輸入

介面

簡介

setVideoEncoderConfig

設定視頻編碼參數

setVideoDecoderConfig

設定視頻解碼參數

pushExternalVideoCapturedFrame

推送外部採集視訊框架

pushExternalVideoEncodedFrame

推送外部已編碼視訊框架

媒體流發送控制

介面

簡介

enableSendMediaStream

控制本地媒體流的發送開關

音頻檔案播放

介面

簡介

startAudioFile

開始推流播放本地音頻檔案

stopAudioFile

停止音頻檔案播放

pauseAudioFile

暫停音頻檔案播放

resumeAudioFile

恢複音頻檔案播放

getAudioFileDuration

擷取音頻檔案總時間長度

getAudioFileCurrentPosition

擷取音頻檔案當前播放位置

setAudioFilePositionMillis

設定音頻檔案播放位置(seek)

setAudioFileVolume

設定音頻檔案音量

getAudioFileVolume

擷取音頻檔案當前音量

外部音頻流

介面

簡介

addAudioExternalStream

新增一條外部音頻流

pushAudioExternalStreamData

輸入外部音頻 PCM 資料

setAudioExternalStreamVolume

設定外部音頻流音量

getAudioExternalStreamVolume

擷取外部音頻流音量

clearAudioExternalStreamBuffer

清空外部音頻流緩衝

removeAudioExternalStream

移除外部音頻流

即時訊息

介面

簡介

sendDataMsg

發送即時資料訊息

音訊框架回調

介面

簡介

setAudioFrameObserver

設定音訊框架資料回調監聽

enableAudioFrameObserver

開啟或關閉指定位置的音訊框架回調

視訊框架回調

介面

簡介

setVideoFrameObserver

設定視訊框架資料回調監聽

enableVideoFrameObserver

開啟或關閉指定位置的視訊框架回調

AoqEngineEventListener 回調

回調

簡介

onError

引擎錯誤回調

onWarning

引擎警告回調

onConnectionStatusChange

串連狀態變化回調

onStats

引擎統計資訊回調

onAudioDeviceStateChanged

音訊裝置操作狀態變化回調

onAudioDeviceRouteChanged

音訊輸出路由變化回調

onAudioFileState

音頻檔案播放狀態回調

onLocalAudioVolumeIndication

本地採集音量提示回調

onVideoDeviceStateChanged

視頻裝置操作狀態變化回調

onDataMsg

收到即時資料訊息回調

介面詳情

引擎生命週期

createEngine

建立引擎執行個體。SDK 內部以全域單例方式持有引擎,重複調用會返回已建立的執行個體。
static AoqClientEngine* createEngine(const AoqCreateConfig& config,
                                     AoqEngineEventListener* listener);
參數

參數

類型

說明

config

const AoqCreateConfig&

引擎建立配置,詳見 AoqCreateConfig

listener

AoqEngineEventListener*

事件回調監聽器,詳見 AoqEngineEventListener

傳回值:引擎執行個體指標,失敗返回 nullptr。

destroy

銷毀引擎執行個體。銷毀後需重新調用 createEngine 方可繼續使用。
static int destroy();
傳回值:0 表示成功;非 0 表示失敗。

getVersion

擷取 SDK 的版本號碼。
static const char* getVersion();
傳回值:版本號碼字串。

connect

串連 Relay 伺服器。業務 AppServer 應根據所用協議擷取臨時 AOQ 串連參數並下發給用戶端,具體操作請參見Token 鑒權。
virtual int connect(const AoqConnectConfig& config);
參數

參數

類型

說明

config

const AoqConnectConfig&

串連鑒權配置,詳見 AoqConnectConfig

傳回值:0 表示調用已下發(非同步執行);非 0 表示參數校正失敗。

disconnect

斷開伺服器串連。
virtual int disconnect();
傳回值:0 表示調用已下發(非同步執行);非 0 表示失敗。

音訊裝置管理

startAudioCapture

開啟音頻採集裝置(麥克風)。
virtual int startAudioCapture(const AoqAudioCaptureConfig& config);
參數

參數

類型

說明

config

const AoqAudioCaptureConfig&

音頻採集配置,詳見 AoqAudioCaptureConfig

傳回值:0 表示成功;非 0 表示失敗。

stopAudioCapture

關閉音頻採集裝置。
virtual int stopAudioCapture();
傳回值:0 表示成功;非 0 表示失敗。

muteAudioCapture

靜音或取消靜音音頻採集。
virtual int muteAudioCapture(bool mute);
參數

參數

類型

說明

mute

bool

true 靜音;false 取消靜音

傳回值:0 表示成功;非 0 表示失敗。

startAudioPlayer

開始音頻渲染,播放遠端音頻。
virtual int startAudioPlayer(const AoqAudioPlaybackConfig& config);
參數

參數

類型

說明

config

const AoqAudioPlaybackConfig&

音頻播放配置,詳見 AoqAudioPlaybackConfig

傳回值:0 表示成功;非 0 表示失敗。

stopAudioPlayer

停止音頻渲染。
virtual int stopAudioPlayer();
傳回值:0 表示成功;非 0 表示失敗。

pauseAudioPlayer

暫停音頻渲染,支援淡出。
virtual int pauseAudioPlayer(int fadeMs);
參數

參數

類型

說明

fadeMs

int

淡出時間長度,單位毫秒;0 表示立即暫停

傳回值:0 表示成功;非 0 表示失敗。

resumeAudioPlayer

恢複音頻渲染,支援淡入。
virtual int resumeAudioPlayer(int fadeMs);
參數

參數

類型

說明

fadeMs

int

淡入時間長度,單位毫秒;0 表示立即恢複

傳回值:0 表示成功;非 0 表示失敗。

interruptAudioPlayer

打斷本輪語音通話,停止當前現正播放的音頻內容。
virtual int interruptAudioPlayer(AoqTrackType trackType, int fadeMs);
參數

參數

類型

說明

trackType

AoqTrackType

音軌類型,詳見 AoqTrackType

fadeMs

int

淡出時間長度,單位毫秒;0 表示立即打斷

傳回值:0 表示成功;非 0 表示失敗。

enableLocalAudioVolumeIndication

開啟或關閉本地採集音量提示。開啟後按 config.interval 周期觸發 onLocalAudioVolumeIndication 回調;config.interval <= 0 時關閉回調。需在 startAudioCapture 之後調用才有音量資料。
virtual int enableLocalAudioVolumeIndication(const AoqAudioVolumeIndicationConfig& config);
參數

參數

類型

說明

config

const AoqAudioVolumeIndicationConfig&

音量提示配置,詳見 AoqAudioVolumeIndicationConfig

傳回值:0 表示成功;非 0 表示失敗。

音頻編碼配置

setAudioEncoderConfig

設定音頻編碼參數。
virtual int setAudioEncoderConfig(const AoqAudioCodecConfig& config);
參數

參數

類型

說明

config

const AoqAudioCodecConfig&

音頻編解碼配置,詳見 AoqAudioCodecConfig

傳回值:0 表示成功;非 0 表示失敗。

setAudioDecoderConfig

設定音頻解碼參數。
virtual int setAudioDecoderConfig(const AoqAudioCodecConfig& config);
參數

參數

類型

說明

config

const AoqAudioCodecConfig&

音頻編解碼配置,詳見 AoqAudioCodecConfig

傳回值:0 表示成功;非 0 表示失敗。

視頻裝置管理

startVideoCapture

開啟視頻採集裝置(網路攝影機)。配置 isExternal=true 時不開啟網路攝影機,由 pushExternalVideoCapturedFrame 喂幀。
virtual int startVideoCapture(const AoqVideoCaptureConfig& config);
參數

參數

類型

說明

config

const AoqVideoCaptureConfig&

視頻採集配置,詳見 AoqVideoCaptureConfig

傳回值:0 表示成功;非 0 表示失敗。

stopVideoCapture

關閉視頻採集裝置。
virtual int stopVideoCapture();
傳回值:0 表示成功;非 0 表示失敗。

setLocalView

設定或移除本地視頻渲染視窗。canvas.view == nullptr 表示解除綁定。
virtual int setLocalView(AoqTrackType trackType, const AoqVideoCanvas& canvas);
參數

參數

類型

說明

trackType

AoqTrackType

視頻軌道,傳 AoqTrackTypeVideo

canvas

const AoqVideoCanvas&

渲染畫布,詳見 AoqVideoCanvas;view 為 nullptr 表示解除綁定

傳回值:0 表示成功;非 0 表示失敗。

setRemoteView

設定或移除遠端視頻渲染視窗。canvas.view == nullptr 表示解除綁定。
virtual int setRemoteView(AoqTrackType trackType, const AoqVideoCanvas& canvas);
參數

參數

類型

說明

trackType

AoqTrackType

視頻軌道,傳 AoqTrackTypeVideo

canvas

const AoqVideoCanvas&

渲染畫布,詳見 AoqVideoCanvas;view 為 nullptr 表示解除綁定

傳回值:0 表示成功;非 0 表示失敗。

視頻編碼與外部輸入

setVideoEncoderConfig

設定視頻編碼參數,按 config.trackType 路由。
virtual int setVideoEncoderConfig(const AoqVideoCodecConfig& config);
參數

參數

類型

說明

config

const AoqVideoCodecConfig&

視頻編解碼配置,詳見 AoqVideoCodecConfig

傳回值:0 表示成功;非 0 表示失敗。

setVideoDecoderConfig

設定視頻解碼參數(訂閱側 codec 提議,需在 connect 之前調用),按 config.trackType 路由。
virtual int setVideoDecoderConfig(const AoqVideoCodecConfig& config);
參數

參數

類型

說明

config

const AoqVideoCodecConfig&

視頻編解碼配置,詳見 AoqVideoCodecConfig

傳回值:0 表示成功;非 0 表示失敗。

pushExternalVideoCapturedFrame

推送外部視訊框架。需先調用 startVideoCapture 且配置 isExternal=true。未啟動外部視頻採集時返回 AoqECVideoExternalCaptureNotEnabled(211);框架格式不支援時返回 AoqECParamInvalid。
virtual int pushExternalVideoCapturedFrame(AoqTrackType trackType, const AoqVideoFrame& frame);
參數

參數

類型

說明

trackType

AoqTrackType

路由目標,傳 AoqTrackTypeVideo

frame

const AoqVideoFrame&

外部視訊框架資料,詳見 AoqVideoFrame

傳回值:0 表示成功;AoqECVideoExternalBufferFull(210)表示緩衝區滿;AoqECVideoExternalCaptureNotEnabled(211)表示未啟用外部視頻採集;AoqECParamInvalid 表示框架格式不支援;其他非 0 值表示其他錯誤。

pushExternalVideoEncodedFrame

推送外部已編碼視訊框架,bypass 編碼器直推。需先調用 setVideoEncoderConfig 且配置 isExternal=true,當前僅支援 JPEG。
virtual int pushExternalVideoEncodedFrame(AoqTrackType trackType, const AoqVideoEncodedFrame& frame);
參數

參數

類型

說明

trackType

AoqTrackType

路由目標,傳 AoqTrackTypeVideo

frame

const AoqVideoEncodedFrame&

外部已編碼幀資料,詳見 AoqVideoEncodedFrame

傳回值:0 表示成功;非 0 表示失敗。

媒體流發送控制

enableSendMediaStream

控制本地媒體流的發送開關。建議初始化後先關閉發送,待 onConnectionStatusChange 回調 AoqConnectionStatusConnected 後再開啟。
virtual int enableSendMediaStream(AoqTrackType trackType, bool enable);
參數

參數

類型

說明

trackType

AoqTrackType

路由目標,支援 AoqTrackTypeAudio / AoqTrackTypeVideo

enable

bool

true 啟用發送;false 停用發送

傳回值:0 表示調用已下發(非同步執行);非 0 表示失敗。

音頻檔案播放

startAudioFile

開始推流播放本地音頻檔案。
virtual int startAudioFile(const char* fileId, const AoqAudioFileMixConfig& config);
參數

參數

類型

說明

fileId

const char*

音頻檔案 ID,業務層需保證唯一性

config

const AoqAudioFileMixConfig&

音頻檔案混音配置,詳見 AoqAudioFileMixConfig

傳回值:0 表示成功;非 0 表示失敗。

stopAudioFile

停止音頻檔案播放。
virtual int stopAudioFile(const char* fileId);
參數

參數

類型

說明

fileId

const char*

音頻檔案 ID

傳回值:0 表示成功;非 0 表示失敗。

pauseAudioFile

暫停音頻檔案播放。
virtual int pauseAudioFile(const char* fileId);
參數

參數

類型

說明

fileId

const char*

音頻檔案 ID

傳回值:0 表示成功;非 0 表示失敗。

resumeAudioFile

恢複音頻檔案播放。
virtual int resumeAudioFile(const char* fileId);
參數

參數

類型

說明

fileId

const char*

音頻檔案 ID

傳回值:0 表示成功;非 0 表示失敗。

getAudioFileDuration

擷取音頻檔案總時間長度。
virtual int64_t getAudioFileDuration(const char* fileId);
參數

參數

類型

說明

fileId

const char*

音頻檔案 ID

傳回值:>=0 表示音頻檔案時間長度,單位毫秒;<0 表示失敗(-AoqErrorCode)。

getAudioFileCurrentPosition

擷取音頻檔案當前播放位置。
virtual int64_t getAudioFileCurrentPosition(const char* fileId);
參數

參數

類型

說明

fileId

const char*

音頻檔案 ID

傳回值:>=0 表示當前播放位置,單位毫秒;<0 表示失敗(-AoqErrorCode)。

setAudioFilePositionMillis

設定音頻檔案播放位置(seek)。
virtual int setAudioFilePositionMillis(const char* fileId, int64_t positionMillis);
參數

參數

類型

說明

fileId

const char*

音頻檔案 ID

positionMillis

int64_t

播放位置,單位毫秒

傳回值:0 表示成功;非 0 表示失敗。

setAudioFileVolume

設定音頻檔案音量。
virtual int setAudioFileVolume(const char* fileId, AoqAudioStreamDirection type, int volume);
參數

參數

類型

說明

fileId

const char*

音頻檔案 ID

type

AoqAudioStreamDirection

音頻流方向,詳見 AoqAudioStreamDirection

volume

int

音量值,範圍 [0, 100]

傳回值:0 表示成功;非 0 表示失敗。

getAudioFileVolume

擷取音頻檔案當前音量。
virtual int getAudioFileVolume(const char* fileId, AoqAudioStreamDirection type);
參數

參數

類型

說明

fileId

const char*

音頻檔案 ID

type

AoqAudioStreamDirection

音頻流方向,詳見 AoqAudioStreamDirection

傳回值:[0, 100] 表示音量值;<0 表示失敗(-AoqErrorCode)。

外部音頻流

addAudioExternalStream

新增一條外部音頻流。
virtual int addAudioExternalStream(const char* streamId, const AoqAudioExternalStreamConfig& config);
參數

參數

類型

說明

streamId

const char*

外部音頻流 ID,業務層需保證唯一性

config

const AoqAudioExternalStreamConfig&

外部音頻流配置,詳見 AoqAudioExternalStreamConfig

傳回值:0 表示成功;非 0 表示失敗。

pushAudioExternalStreamData

輸入外部音頻 PCM 資料。返回 AoqECAudioExternalBufferFull(110)時表示 SDK 緩衝已滿,建議等待約 20ms 後重新送當前資料幀。
virtual int pushAudioExternalStreamData(const char* streamId, AoqAudioFrameData& data);
參數

參數

類型

說明

streamId

const char*

外部音頻流 ID

data

AoqAudioFrameData&

外部音頻裸資料,詳見 AoqAudioFrameData

傳回值:0 表示成功;非 0 表示失敗。
最佳實務:即時採集情境一次 Push 10ms 資料長度,有資料即 Push;資料來源為檔案時一次 Push 40ms 資料長度、間隔 30ms 給一次,並處理 AoqECAudioExternalBufferFull 返回。

setAudioExternalStreamVolume

設定外部音頻流音量。
virtual int setAudioExternalStreamVolume(const char* streamId, AoqAudioStreamDirection type, int vol);
參數

參數

類型

說明

streamId

const char*

外部音頻流 ID

type

AoqAudioStreamDirection

外部音頻流類型,詳見 AoqAudioStreamDirection

vol

int

音量值,範圍 [0, 100]

傳回值:0 表示成功;非 0 表示失敗。

getAudioExternalStreamVolume

擷取外部音頻流音量。
virtual int getAudioExternalStreamVolume(const char* streamId, AoqAudioStreamDirection type);
參數

參數

類型

說明

streamId

const char*

外部音頻流 ID

type

AoqAudioStreamDirection

外部音頻流類型,詳見 AoqAudioStreamDirection

傳回值:[0, 100] 表示音量值;<0 表示失敗(-AoqErrorCode)。

clearAudioExternalStreamBuffer

清空外部音頻流緩衝。
virtual void clearAudioExternalStreamBuffer(const char* streamId, int fadeoutMs);
參數

參數

類型

說明

streamId

const char*

外部音頻流 ID

fadeoutMs

int

淡出時間長度;-1 使用 SDK 內部預設淡出,0 表示全部清空無淡出,>0 保留指定毫秒淡出

傳回值:無。

removeAudioExternalStream

移除外部音頻流。
virtual int removeAudioExternalStream(const char* streamId);
參數

參數

類型

說明

streamId

const char*

外部音頻流 ID

傳回值:0 表示成功;非 0 表示失敗。

即時訊息

sendDataMsg

發送即時資料訊息。
virtual int sendDataMsg(const AoqDataMsg& msg);
參數

參數

類型

說明

msg

const AoqDataMsg&

訊息內容,詳見 AoqDataMsg

傳回值:0 表示成功;非 0 表示失敗。

音訊框架回調

setAudioFrameObserver

設定音訊框架資料回調監聽器,傳 nullptr 停止回調。設定後需調用 enableAudioFrameObserver 開啟對應資料來源的回調。
virtual int setAudioFrameObserver(IAudioFrameObserver* observer) = 0;
參數

參數

類型

說明

observer

IAudioFrameObserver*

音訊框架回調監聽器,詳見 IAudioFrameObserver;傳 nullptr 停止回調

傳回值:0 表示成功;非 0 表示失敗。

enableAudioFrameObserver

開啟或關閉指定位置的音訊框架回調。
virtual int enableAudioFrameObserver(bool enabled, AoqAudioSource audioSource,
                                     const AoqAudioObserverConfig& config) = 0;
參數

參數

類型

說明

enabled

bool

是否允許資料回調

audioSource

AoqAudioSource

音頻裸資料來源類型,詳見 AoqAudioSource

config

const AoqAudioObserverConfig&

回調參數設定,詳見 AoqAudioObserverConfig

傳回值:0 表示成功;非 0 表示失敗。

視訊框架回調

setVideoFrameObserver

設定視訊框架資料回調監聽器,傳 nullptr 停止回調。設定後需調用 enableVideoFrameObserver 開啟對應資料來源的回調。
virtual int setVideoFrameObserver(IVideoFrameObserver* observer) = 0;
參數

參數

類型

說明

observer

IVideoFrameObserver*

視訊框架回調監聽器,詳見 IVideoFrameObserver;傳 nullptr 停止回調

傳回值:0 表示成功;非 0 表示失敗。

enableVideoFrameObserver

開啟或關閉指定位置的視訊框架回調。
virtual int enableVideoFrameObserver(bool enabled, AoqVideoSource videoSource,
                                     const AoqVideoObserverConfig& config) = 0;
參數

參數

類型

說明

enabled

bool

是否啟用某位置資料回調

videoSource

AoqVideoSource

視訊框架回調資料來源(管線位置),詳見 AoqVideoSource

config

const AoqVideoObserverConfig&

回調參數設定,詳見 AoqVideoObserverConfig

傳回值:0 表示成功;非 0 表示失敗。

回調

AoqEngineEventListener

AoqEngineEventListener 是 SDK 所有非同步事件通知的統一出口,為抽象類別,由調用方繼承實現並在 createEngine 時傳入。所有回調可能在內部線程觸發,實現者需自行處理安全執行緒。串連狀態流轉:Disconnected → Connecting → Connected/Failed → Disconnected。

onError

引擎錯誤回調。
virtual void onError(int code, const char* message) = 0;
參數

參數

類型

說明

code

int

錯誤碼,詳見 AoqErrorCode

message

const char*

錯誤描述

onWarning

引擎警告回調。
virtual void onWarning(int code, const char* message) = 0;
參數

參數

類型

說明

code

int

警告碼,詳見 AoqWarningCode

message

const char*

警告描述

onConnectionStatusChange

引擎串連狀態變化回調。
virtual void onConnectionStatusChange(AoqConnectionStatus status) = 0;
參數

參數

類型

說明

status

AoqConnectionStatus

串連狀態,詳見 AoqConnectionStatus

onStats

引擎統計資訊回調。
virtual void onStats(const AoqStats& stats) = 0;
參數

參數

類型

說明

stats

const AoqStats&

統計資料,詳見 AoqStats

onAudioDeviceStateChanged

音訊裝置採集 / 播放操作狀態變化回調。
virtual void onAudioDeviceStateChanged(const AoqAudioDeviceState& state) = 0;
參數

參數

類型

說明

state

const AoqAudioDeviceState&

音訊裝置狀態,詳見 AoqAudioDeviceState

onAudioDeviceRouteChanged

音訊輸出路由變化回調。
virtual void onAudioDeviceRouteChanged(int routeType) = 0;
參數

參數

類型

說明

routeType

int

路由類型,取值詳見 AoqAudioDeviceRouteType

onAudioFileState

音頻檔案播放狀態回調。
virtual void onAudioFileState(const AoqAudioFileState& state) = 0;
參數

參數

類型

說明

state

const AoqAudioFileState&

檔案播放狀態,詳見 AoqAudioFileState

onLocalAudioVolumeIndication

本地採集音量提示回調,需調用 enableLocalAudioVolumeIndication 開啟。
virtual void onLocalAudioVolumeIndication(const AoqAudioVolume& volume) = 0;
參數

參數

類型

說明

volume

const AoqAudioVolume&

本地音量資訊,詳見 AoqAudioVolume

onVideoDeviceStateChanged

視頻裝置採集操作狀態變化回調。
virtual void onVideoDeviceStateChanged(const AoqVideoDeviceState& state) = 0;
參數

參數

類型

說明

state

const AoqVideoDeviceState&

視頻裝置狀態,詳見 AoqVideoDeviceState

onDataMsg

收到即時資料訊息回調。
virtual void onDataMsg(const AoqDataMsg& msg) = 0;
參數

參數

類型

說明

msg

const AoqDataMsg&

資料訊息,詳見 AoqDataMsg

IAudioFrameObserver

音訊框架資料回調介面,由調用方繼承實現。請不要在回調中做任何耗時操作,否則可能導致聲音異常。

onCapturedAudioFrame

採集裸資料回調。通過 enableAudioFrameObserver 設定 audioSource = AoqAudioSourceCaptured 開啟,支援設定採樣率、聲道數,支援讀寫入模式。
virtual void onCapturedAudioFrame(const AoqAudioFrameData& data) = 0;
參數

參數

類型

說明

data

const AoqAudioFrameData&

採集音頻裸資料,詳見 AoqAudioFrameData

onProcessCapturedAudioFrame

3A 後資料回調。通過 enableAudioFrameObserver 設定 audioSource = AoqAudioSourceProcessCaptured 開啟,支援設定採樣率、聲道數,支援讀寫入模式。
virtual void onProcessCapturedAudioFrame(const AoqAudioFrameData& data) = 0;
參數

參數

類型

說明

data

const AoqAudioFrameData&

3A 處理後音頻裸資料,詳見 AoqAudioFrameData

onPublishAudioFrame

推流資料回調。通過 enableAudioFrameObserver 設定 audioSource = AoqAudioSourcePublish 開啟,支援設定採樣率、聲道數,僅支援唯讀模式。
virtual void onPublishAudioFrame(AoqTrackType trackType, const AoqAudioFrameData& data) = 0;
參數

參數

類型

說明

trackType

AoqTrackType

音軌類型,詳見 AoqTrackType

data

const AoqAudioFrameData&

推流音頻裸資料,詳見 AoqAudioFrameData

onPlaybackAudioFrame

播放資料回調。通過 enableAudioFrameObserver 設定 audioSource = AoqAudioSourcePlayback 開啟,支援設定採樣率、聲道數,支援讀寫入模式。
virtual void onPlaybackAudioFrame(const AoqAudioFrameData& data) = 0;
參數

參數

類型

說明

data

const AoqAudioFrameData&

播放音頻裸資料,詳見 AoqAudioFrameData

IVideoFrameObserver

視訊框架資料回調介面,由調用方繼承實現。請不要在回調中做任何耗時操作,否則可能導致畫面卡頓。回調返回 true 表示資料已修改、需寫回 SDK(寫回僅對 I420 生效);返回 false 表示唯讀。frame 中的資料僅在回調期間有效,非同步使用需自行拷貝。

onCapturedVideoFrame

本地採集後裸資料回調(前處理前)。通過 enableVideoFrameObserver 設定 videoSource = AoqVideoSourceCaptured 開啟。
virtual bool onCapturedVideoFrame(AoqVideoFrame& frame) = 0;
參數

參數

類型

說明

frame

AoqVideoFrame&

採集視訊框架資料,詳見 AoqVideoFrame

傳回值:true 資料已修改、需寫回 SDK;false 唯讀。

onPreEncodeVideoFrame

本地編碼前裸資料回調(前處理後)。通過 enableVideoFrameObserver 設定 videoSource = AoqVideoSourcePreEncode 開啟。
virtual bool onPreEncodeVideoFrame(AoqTrackType trackType, AoqVideoFrame& frame) = 0;
參數

參數

類型

說明

trackType

AoqTrackType

視頻軌道類型,詳見 AoqTrackType

frame

AoqVideoFrame&

編碼前視訊框架資料,詳見 AoqVideoFrame

傳回值:true 資料已修改、需寫回 SDK;false 唯讀。

onRemoteVideoFrame

遠端解碼後、渲染前裸資料回調。通過 enableVideoFrameObserver 設定 videoSource = AoqVideoSourceRemote 開啟。
virtual bool onRemoteVideoFrame(AoqTrackType trackType, AoqVideoFrame& frame) = 0;
參數

參數

類型

說明

trackType

AoqTrackType

視頻軌道類型,詳見 AoqTrackType

frame

AoqVideoFrame&

遠端視訊框架資料,詳見 AoqVideoFrame

傳回值:true 資料已修改、需寫回 SDK;false 唯讀。

資料類型與枚舉

通用類型

AoqCreateConfig

引擎建立配置。

欄位

類型

預設值

說明

workDir

const char*

nullptr

SDK 工作目錄

enableDumpAudio

bool

false

是否開啟音頻資料儲存(調試用)

extras

const char*

nullptr

擴充參數(JSON 字串)

AoqConnectConfig

串連 Relay 伺服器配置。relayEndpoints / publishTracks / subscribeTracks 為 C 風格數組 + 長度,數組記憶體由調用方持有,僅需在 connect 調用期間保持有效。

欄位

類型

說明

token

const char*

串連鑒權 Token

sid

const char*

會話 ID

certFingerprint

const char*

伺服器憑證指紋

workspaceIdHash

const char*

工作空間雜湊 ID

relayEndpoints

const AoqRelayEndpoint*

Relay 存取點數組

relayEndpointsCount

size_t

Relay 存取點數量

publishTracks

const AoqTrackParam*

本端推流 track 屬性數組

publishTracksCount

size_t

推流 track 數量

subscribeTracks

const AoqTrackParam*

本端拉流 track 屬性數組

subscribeTracksCount

size_t

拉流 track 數量

AoqRelayEndpoint

Relay 存取點。

欄位

類型

預設值

說明

route_index

int

-1

路徑序號

endpoint

const char*

nullptr

服務端地址(網域名稱或 IP)

port

int

0

服務端連接埠

AoqTrackParam

track 屬性。

欄位

類型

預設值

說明

trackType

AoqTrackType

Audio

track 類型

trackMode

AoqTrackMode

Segment

流式與非流式模式,僅對音頻下行生效

AoqDataMsg

訊息資料結構。回調中使用時僅保證回調期間有效,如需非同步使用請自行拷貝。

欄位

類型

說明

data

const uint8_t*

訊息內容,指向調用方持有的記憶體

dataSize

size_t

位元組數

統計資訊類型

AoqStats

引擎統計資訊。各統計數組以指標 + 數量形式提供。

欄位

類型

說明

audioPublishStats / audioPublishStatsCount

const AoqAudioPublishStats* / unsigned int

音頻推流統計數組及數量

videoPublishStats / videoPublishStatsCount

const AoqVideoPublishStats* / unsigned int

視頻推流統計數組及數量

dataMsgPublishStats / dataMsgPublishStatsCount

const AoqDataMsgPublishStats* / unsigned int

資料訊息推流統計數組及數量

audioSubscribeStats / audioSubscribeStatsCount

const AoqAudioSubscribeStats* / unsigned int

音頻拉流統計數組及數量

videoSubscribeStats / videoSubscribeStatsCount

const AoqVideoSubscribeStats* / unsigned int

視頻拉流統計數組及數量

dataMsgSubscribeStats / dataMsgSubscribeStatsCount

const AoqDataMsgSubscribeStats* / unsigned int

資料訊息拉流統計數組及數量

networkStats

const AoqNetworkStats*

網路統計資訊

AoqNetworkStats

網路統計資訊。

欄位

類型

說明

sendBitrate

unsigned int

發送碼率(bps)

sendBytes

uint64_t

累計發送位元組數

recvBitrate

unsigned int

接收碼率(bps)

recvBytes

uint64_t

累計接收位元組數

loss

unsigned int

丟包率(0-100)

rtt

unsigned int

往返延遲(ms)

AoqAudioPublishStats

音頻推流統計資訊。

欄位

類型

說明

trackType

AoqTrackType

軌道類型

bitrate

unsigned int

碼率(bps)

bytes

uint64_t

累計位元組數

encodeVolume

unsigned int

推流編碼音量

AoqVideoPublishStats

視頻推流統計資訊。

欄位

類型

說明

trackType

AoqTrackType

軌道類型

bitrate

unsigned int

碼率(bps)

bytes

uint64_t

累計位元組數

encodeFps

unsigned int

編碼幀率

AoqDataMsgPublishStats

資料訊息推流統計資訊。

欄位

類型

說明

trackType

AoqTrackType

軌道類型

bitrate

unsigned int

碼率(bps)

bytes

uint64_t

累計位元組數

AoqAudioSubscribeStats

音頻拉流統計資訊。

欄位

類型

說明

trackType

AoqTrackType

軌道類型

bitrate

unsigned int

碼率(bps)

bytes

uint64_t

累計位元組數

playVolume

unsigned int

播放音量

AoqVideoSubscribeStats

視頻拉流統計資訊。

欄位

類型

說明

trackType

AoqTrackType

軌道類型

bitrate

unsigned int

碼率(bps)

bytes

uint64_t

累計位元組數

decodeFps

unsigned int

解碼幀率

renderFps

unsigned int

渲染幀率

AoqDataMsgSubscribeStats

資料訊息拉流統計資訊。

欄位

類型

說明

trackType

AoqTrackType

軌道類型

bitrate

unsigned int

碼率(bps)

bytes

uint64_t

累計位元組數

枚舉類型

AoqErrorCode

錯誤碼枚舉。

枚舉值

值

說明

AoqECOK

0

成功

AoqECParamInvalid

1

參數非法

AoqECStateInvalid

2

狀態非法

AoqECUnSupport

3

介面被調但當前平台 / 模式未實現

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

視頻渲染降級

AoqTrackType

軌道類型。

枚舉值

值

說明

AoqTrackTypeAudio

0

音頻軌道

AoqTrackTypeVideo

1

視頻軌道

AoqTrackTypeData

2

資料訊息軌道

AoqEncoderType

編碼器類型。

枚舉值

值

說明

AoqEncoderTypeUnknown

0

未知格式

AoqEncoderTypeAudioPCM

1

音頻 PCM

AoqEncoderTypeAudioOpus

2

音頻 Opus(外掛程式化,需聯絡 SDK 提供內建或動態下載到 APP 下)

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

false

是否外部採集

channel

int

1

音頻採集通道數,支援 1/2

AoqAudioPlaybackConfig

音頻播放配置。

欄位

類型

預設值

說明

isExternal

bool

false

是否外部播放

channel

int

1

音頻播放通道數,支援 1/2

AoqAudioCodecConfig

音頻編解碼配置。

欄位

類型

預設值

說明

trackType

AoqTrackType

Audio

軌道類型

codecType

AoqEncoderType

AudioPCM

編碼格式

sampleRate

int

48000

採樣率(Hz)。編碼支援 Opus 8/16/48K、PCM 8/16/32/48K;解碼額外支援 24K,但 24K 僅限 Segment 模式(Stream 模式不支援 24K,非法組合在 connect 時通過 onError 回調 AoqECParamInvalid)

channel

int

1

聲道數,支援 1/2

bitrate

int

32000

位元速率(bps)

AoqAudioDeviceState

音訊裝置狀態。

欄位

類型

說明

state

AoqAudioDeviceStateCode

狀態代碼

reason

int

錯誤碼(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

藍芽

AoqAudioDeviceRouteBluetoothA2dp

7

藍芽 A2DP

AoqAudioFileMixConfig

音頻檔案推流播放配置。

欄位

類型

預設值

說明

fileName

const char*

nullptr

檔案名稱(含路徑),必填

cycles

int

-1

迴圈次數,-1 表示無限迴圈

startPosMs

long

0

起始播放位置(ms)

publishVolume

int

100

推流音量,範圍 [0, 100]

playoutVolume

int

100

播放音量,範圍 [0, 100]

AoqAudioFileState

音頻檔案狀態。

欄位

類型

說明

fileId

const char*

檔案 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

int

1

聲道數,受限推流音頻 Codec 支援 1/2,超過的聲道忽略

sampleRate

int

48000

採樣率(Hz),支援 8/12/16/24/32/44.1/48/64/88.2/96/176.4/192K

playoutVolume

int

100

播放音量,範圍 [0, 100]

publishVolume

int

100

推流音量,範圍 [0, 100]

maxBufferDuration

int

600000

最大緩衝時間長度(ms),取值範圍 [100, ~],SDK 緩衝時間長度超過時 Push 會失敗

enable3A

bool

false

輸入 PCM 是否做 3A 處理

AoqAudioFrameData

音頻資料。

欄位

類型

說明

dataPtr

void*

音頻資料指標

numOfSamples

int

採樣點數(單個聲道)

bytesPerSample

int

每個採樣點的位元組數

numOfChannels

int

聲道數

samplesPerSec

int

每秒採樣點數

pushSequence

int

PCM 輸入輪次(用於 pushAudioExternalStreamData 消費完通知)

timeStamp

int64_t

時間戳記

dataSize

int

資料長度

autoGenMute

bool

資料回調有效,true 表示 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

int

48000

回調音頻採樣率,受限 Source 源,不一致時重採樣,支援 8/12/16/24/32/44.1/48/64/88.2/96/176.4/192K

channels

int

1

回調音頻聲道數,支援 1/2,受限拉流 Codec 參數

mode

AoqAudioObserverMode

ReadOnly

回調模式

AoqAudioVolumeIndicationConfig

本地音量提示配置。

欄位

類型

預設值

說明

interval

int

0

回調間隔(ms);<=0 關閉回調,>0 且 <10 時按 10 處理

smooth

int

3

音量平滑係數,範圍 [0, 10],取值越大越平滑

AoqAudioVolume

本地音量資訊。

欄位

類型

說明

volume

int

平滑後的瞬時音量,範圍 [0, 255]

視頻類型

AoqVideoCaptureConfig

視頻採集配置。

欄位

類型

預設值

說明

width

int

1280

採集寬度(像素);isExternal=true 時無效

height

int

720

採集高度(像素);isExternal=true 時無效

fps

int

15

採集幀率;isExternal=true 時無效(節奏由送幀決定)

isExternal

bool

false

是否外部採集;true 時不開啟網路攝影機,由 pushExternalVideoCapturedFrame 喂幀

AoqVideoCanvas

視頻渲染資料結構。view 為平台原生視圖控制代碼的不透明指標,Windows 平台填視窗控制代碼 HWND。調用方需保證 view 生命週期長於 setLocalView / setRemoteView 設定期間。

欄位

類型

預設值

說明

view

void*

nullptr

顯示視圖控制代碼(HWND),傳 nullptr 表示移除渲染綁定

renderMode

AoqRenderMode

Auto

渲染模式

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

AoqVideoFrame

外部視頻資料。

欄位

類型

說明

format

AoqVideoPixelFormat

像素格式

width

int

寬度(像素)

height

int

高度(像素)

dataPtr

void*

打包格式資料指標(NV12/NV21/BGRA/RGBA)

dataSize

int

打包資料位元組數

dataY / dataU / dataV

void*

I420 三平面資料指標

strideY / strideU / strideV

int

I420 三平面步長

timeStamp

int64_t

時間戳記(ms);0 時 SDK 用本地時鐘補

AoqVideoEncodedFrame

外部已編碼視訊框架。調用方自行完成編碼,SDK 不做二次編碼,直接打包發送。

欄位

類型

說明

codec

AoqVideoCodecType

編碼格式

data

void*

編碼後資料指標

dataSize

int

編碼後資料位元組數

width

int

寬度(像素)

height

int

高度(像素)

timeStamp

int64_t

時間戳記(ms);0 時 SDK 用本地時鐘補

AoqVideoCodecType

外部編碼幀 codec 類型。

枚舉值

值

說明

AoqVideoCodecTypeJPEG

0

JPEG

AoqVideoDeviceState

視頻裝置狀態。

欄位

類型

說明

state

AoqVideoDeviceStateCode

狀態代碼

reason

int

錯誤碼(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 生效(作為訂閱提議參與協商),minBitrate / keyframeInterval / mirrorMode / orientationMode / isExternal 僅編碼使用。

欄位

類型

預設值

說明

isExternal

bool

false

外部編碼模式;true 時由客戶推送已編碼幀,SDK 不做採集和編碼

trackType

AoqTrackType

Video

軌道類型

codecType

AoqEncoderType

VideoH264

編碼格式

width

int

540

解析度寬

height

int

960

解析度高

fps

int

5

幀率

bitrate

int

500000

起始碼率(bps)

minBitrate

int

128000

最小碼率(bps)

keyframeInterval

int

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

回調模式,僅 I420 支援 ReadWrite

mirrorApplied

bool

false

是否對回調資料應用鏡像