本文介紹 AOQ Client SDK macOS 版的 Objective-C 介面、回調和資料類型,協助您在 macOS 應用中接入即時音視頻和資料訊息能力。
AoqClientEngine 類對外提供介面,通過 AoqEngineDelegate 協議統一回調非同步事件。
介面目錄
引擎生命週期
介面 | 簡介 |
|---|---|
| 建立引擎執行個體(單例模式) |
| 銷毀引擎執行個體 |
| 擷取 SDK 版本號碼 |
| 串連 Relay 伺服器 |
| 斷開伺服器串連 |
音訊裝置管理
介面 | 簡介 |
|---|---|
| 開啟音頻採集裝置(麥克風) |
| 關閉音頻採集裝置 |
| 靜音或取消靜音音頻採集 |
| 開始音頻渲染(播放遠端音頻) |
| 停止音頻渲染 |
| 暫停音頻渲染(支援淡出) |
| 恢複音頻渲染(支援淡入) |
| 打斷本輪語音通話 |
| 開啟或關閉本地採集音量提示 |
音頻編碼配置
介面 | 簡介 |
|---|---|
| 設定音頻編碼參數 |
| 設定音頻解碼參數 |
視頻裝置管理
介面 | 簡介 |
|---|---|
| 開啟視頻採集裝置(網路攝影機) |
| 關閉視頻採集裝置 |
| 設定或移除本地視頻渲染視窗 |
| 設定或移除遠端視頻渲染視窗 |
視頻編碼與外部輸入
介面 | 簡介 |
|---|---|
| 設定視頻編碼參數 |
| 設定視頻解碼參數 |
| 推送外部採集視訊框架 |
| 推送外部已編碼視訊框架 |
媒體流發送控制
介面 | 簡介 |
|---|---|
| 控制本地媒體流的發送開關 |
音頻檔案播放
介面 | 簡介 |
|---|---|
| 開始推流播放本地音頻檔案 |
| 停止音頻檔案播放 |
| 暫停音頻檔案播放 |
| 恢複音頻檔案播放 |
| 擷取音頻檔案總時間長度 |
| 擷取音頻檔案當前播放位置 |
| 設定音頻檔案播放位置(seek) |
| 設定音頻檔案音量 |
| 擷取音頻檔案當前音量 |
外部音頻流
介面 | 簡介 |
|---|---|
| 新增一條外部音頻流 |
| 輸入外部音頻 PCM 資料 |
| 設定外部音頻流音量 |
| 擷取外部音頻流音量 |
| 清空外部音頻流緩衝 |
| 移除外部音頻流 |
即時訊息
介面 | 簡介 |
|---|---|
| 發送即時資料訊息 |
音訊框架回調
介面 | 簡介 |
|---|---|
| 設定音訊框架資料回調監聽 |
| 開啟或關閉指定位置的音訊框架回調 |
視訊框架回調
介面 | 簡介 |
|---|---|
| 設定視訊框架資料回調監聽 |
| 開啟或關閉指定位置的視訊框架回調 |
AoqEngineDelegate 回調
回調 | 簡介 |
|---|---|
| 引擎錯誤回調 |
| 引擎警告回調 |
| 串連狀態變化回調 |
| 引擎統計資訊回調 |
| 音訊裝置操作狀態變化回調 |
| 音訊輸出路由變化回調 |
| 音頻檔案播放狀態回調 |
| 本地採集音量提示回調 |
| 視頻裝置操作狀態變化回調 |
| 收到即時資料訊息回調 |
介面詳情
引擎生命週期
createEngine:delegate:
建立引擎執行個體。SDK 內部以全域單例方式持有引擎,重複調用會返回已建立的執行個體。
參數 | 類型 | 說明 |
|---|---|---|
|
| 引擎建立配置,詳見 |
|
| 引擎事件回調委託,詳見 |
destroy
銷毀引擎執行個體。銷毀後需重新調用 createEngine:delegate: 方可繼續使用。
getVersion
擷取 SDK 的版本號碼。
connect:
串連 Relay 伺服器。業務 AppServer 應根據所用協議擷取臨時 AOQ 串連參數並下發給用戶端,具體操作請參見Token 鑒權。
參數 | 類型 | 說明 |
|---|---|---|
|
| 串連鑒權配置,詳見 |
disconnect
斷開伺服器串連。
音訊裝置管理
startAudioCapture:
開啟音頻採集裝置(麥克風)。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音頻採集配置,詳見 |
stopAudioCapture
關閉音頻採集裝置。
muteAudioCapture:
靜音或取消靜音音頻採集。
參數 | 類型 | 說明 |
|---|---|---|
|
|
|
startAudioPlayer:
開始音頻渲染,播放遠端音頻。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音頻播放配置,詳見 |
stopAudioPlayer
停止音頻渲染。
pauseAudioPlayer:
暫停音頻渲染,支援淡出。
參數 | 類型 | 說明 |
|---|---|---|
|
| 淡出時間長度,單位毫秒;0 表示立即暫停 |
resumeAudioPlayer:
恢複音頻渲染,支援淡入。
參數 | 類型 | 說明 |
|---|---|---|
|
| 淡入時間長度,單位毫秒;0 表示立即恢複 |
interruptAudioPlayer:fadeMs:
打斷本輪語音通話,停止當前現正播放的音頻內容。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音軌類型,詳見 |
|
| 淡出時間長度,單位毫秒;0 表示立即打斷 |
enableLocalAudioVolumeIndication:
開啟或關閉本地採集音量提示。開啟後按 config.interval 周期觸發 onLocalAudioVolumeIndication: 回調;config.interval <= 0 時關閉回調。需在 startAudioCapture: 之後調用才有音量資料。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音量提示配置,詳見 |
音頻編碼配置
setAudioEncoderConfig:
設定音頻編碼參數。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音頻編解碼配置,詳見 |
setAudioDecoderConfig:
設定音頻解碼參數。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音頻編解碼配置,詳見 |
視頻裝置管理
startVideoCapture:
開啟視頻採集裝置(網路攝影機)。配置 isExternal=YES 時不開啟網路攝影機,由 pushExternalVideoCapturedFrame:frame: 喂幀。
參數 | 類型 | 說明 |
|---|---|---|
|
| 視頻採集配置,詳見 |
stopVideoCapture
關閉視頻採集裝置。
setLocalView:canvas:
設定或移除本地視頻渲染視窗。canvas 傳 nil 或 canvas.view 為 nil 表示解除綁定。
參數 | 類型 | 說明 |
|---|---|---|
|
| 視頻軌道,傳 |
|
| 渲染畫布,詳見 |
setRemoteView:canvas:
設定或移除遠端視頻渲染視窗。canvas 傳 nil 或 canvas.view 為 nil 表示解除綁定。
參數 | 類型 | 說明 |
|---|---|---|
|
| 視頻軌道,傳 |
|
| 渲染畫布,詳見 |
視頻編碼與外部輸入
setVideoEncoderConfig:
設定視頻編碼參數,按 config.trackType 路由。
參數 | 類型 | 說明 |
|---|---|---|
|
| 視頻編解碼配置,詳見 |
setVideoDecoderConfig:
設定視頻解碼參數(訂閱側 codec 提議,需在 connect: 之前調用),按 config.trackType 路由。
參數 | 類型 | 說明 |
|---|---|---|
|
| 視頻編解碼配置,詳見 |
pushExternalVideoCapturedFrame:frame:
推送外部視訊框架。需先調用 startVideoCapture: 且配置 isExternal=YES,未啟動外部視頻採集或格式不支援時返回 AoqECParamInvalid。
參數 | 類型 | 說明 |
|---|---|---|
|
| 路由目標,傳 |
|
| 外部視訊框架資料,詳見 |
AoqECVideoExternalBufferFull(210)表示緩衝區滿;<0 表示其他錯誤。
pushExternalVideoEncodedFrame:frame:
推送外部已編碼視訊框架,bypass 編碼器直推。需先調用 setVideoEncoderConfig: 且配置 isExternal=YES,當前僅支援 JPEG。
參數 | 類型 | 說明 |
|---|---|---|
|
| 路由目標,傳 |
|
| 外部已編碼幀資料,詳見 |
媒體流發送控制
enableSendMediaStream:enable:
控制本地媒體流的發送開關。建議初始化後先關閉發送,待 onConnectionStatusChange: 回調 AoqConnectionStatusConnected 後再開啟。
參數 | 類型 | 說明 |
|---|---|---|
|
| 路由目標,支援 |
|
|
|
音頻檔案播放
startAudioFile:config:
開始推流播放本地音頻檔案。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音頻檔案 ID,業務層需保證唯一性 |
|
| 音頻檔案混音配置,詳見 |
stopAudioFile:
停止音頻檔案播放。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音頻檔案 ID |
pauseAudioFile:
暫停音頻檔案播放。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音頻檔案 ID |
resumeAudioFile:
恢複音頻檔案播放。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音頻檔案 ID |
getAudioFileDuration:
擷取音頻檔案總時間長度。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音頻檔案 ID |
getAudioFileCurrentPosition:
擷取音頻檔案當前播放位置。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音頻檔案 ID |
setAudioFilePositionMillis:positionMillis:
設定音頻檔案播放位置(seek)。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音頻檔案 ID |
|
| 播放位置,單位毫秒 |
setAudioFileVolume:type:volume:
設定音頻檔案音量。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音頻檔案 ID |
|
| 音頻流方向,詳見 |
|
| 音量值,範圍 [0, 100] |
getAudioFileVolume:type:
擷取音頻檔案當前音量。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音頻檔案 ID |
|
| 音頻流方向,詳見 |
外部音頻流
addAudioExternalStream:config:
新增一條外部音頻流。
參數 | 類型 | 說明 |
|---|---|---|
|
| 外部音頻流 ID,業務層需保證唯一性 |
|
| 外部音頻流配置,詳見 |
pushAudioExternalStreamData:data:
輸入外部音頻 PCM 資料。返回 AoqECAudioExternalBufferFull(110)時表示 SDK 緩衝已滿,建議等待約 20ms 後重新送當前資料幀。
參數 | 類型 | 說明 |
|---|---|---|
|
| 外部音頻流 ID |
|
| 外部音頻裸資料,詳見 |
AoqECAudioExternalBufferFull 返回。setAudioExternalStreamVolume:type:volume:
設定外部音頻流音量。
參數 | 類型 | 說明 |
|---|---|---|
|
| 外部音頻流 ID |
|
| 外部音頻流類型,詳見 |
|
| 音量值,範圍 [0, 100] |
getAudioExternalStreamVolume:type:
擷取外部音頻流音量。
參數 | 類型 | 說明 |
|---|---|---|
|
| 外部音頻流 ID |
|
| 外部音頻流類型,詳見 |
clearAudioExternalStreamBuffer:fadeoutMs:
清空外部音頻流緩衝。
參數 | 類型 | 說明 |
|---|---|---|
|
| 外部音頻流 ID |
|
| 淡出時間長度;-1 使用 SDK 內部預設淡出,0 表示全部清空無淡出,>0 保留指定毫秒淡出 |
removeAudioExternalStream:
移除外部音頻流。
參數 | 類型 | 說明 |
|---|---|---|
|
| 外部音頻流 ID |
即時訊息
sendDataMsg:
發送即時資料訊息。
參數 | 類型 | 說明 |
|---|---|---|
|
| 訊息內容,詳見 |
音訊框架回調
setAudioFrameObserver:
設定音訊框架資料回調委託,傳 nil 停止回調。設定後需調用 enableAudioFrameObserver:audioSource:config: 開啟對應資料來源的回調。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音訊框架回調委託,詳見 |
enableAudioFrameObserver:audioSource:config:
開啟或關閉指定位置的音訊框架回調。
參數 | 類型 | 說明 |
|---|---|---|
|
| 是否允許資料回調 |
|
| 音頻裸資料來源類型,詳見 |
|
| 回調參數設定,詳見 |
視訊框架回調
setVideoFrameObserver:
設定視訊框架資料回調委託,傳 nil 停止回調。設定後需調用 enableVideoFrameObserver:videoSource:config: 開啟對應資料來源的回調。
參數 | 類型 | 說明 |
|---|---|---|
|
| 視訊框架回調委託,詳見 |
enableVideoFrameObserver:videoSource:config:
開啟或關閉指定位置的視訊框架回調。
參數 | 類型 | 說明 |
|---|---|---|
|
| 是否啟用某位置資料回調 |
|
| 視訊框架回調資料來源(管線位置),詳見 |
|
| 回調參數設定,詳見 |
回調
AoqEngineDelegate
AoqEngineDelegate 是 SDK 所有非同步事件通知的統一出口,在 createEngine:delegate: 時傳入。所有回調方法均為 @required。串連狀態流轉:Disconnected → Connecting → Connected/Failed → Disconnected。
onError:message:
引擎錯誤回調。
參數 | 類型 | 說明 |
|---|---|---|
|
| 錯誤碼,詳見 |
|
| 錯誤描述 |
onWarning:message:
引擎警告回調。
參數 | 類型 | 說明 |
|---|---|---|
|
| 警告碼,詳見 |
|
| 警告描述 |
onConnectionStatusChange:
引擎串連狀態變化回調。
參數 | 類型 | 說明 |
|---|---|---|
|
| 串連狀態,詳見 |
onStats:
引擎統計資訊回調。
參數 | 類型 | 說明 |
|---|---|---|
|
| 統計資料,詳見 |
onAudioDeviceStateChanged:
音訊裝置採集 / 播放操作狀態變化回調。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音訊裝置狀態,詳見 |
onAudioDeviceRouteChanged:
音訊輸出路由變化回調。
參數 | 類型 | 說明 |
|---|---|---|
|
| 路由類型,取值詳見 |
onAudioFileState:
音頻檔案播放狀態回調。
參數 | 類型 | 說明 |
|---|---|---|
|
| 檔案播放狀態,詳見 |
onLocalAudioVolumeIndication:
本地採集音量提示回調,需調用 enableLocalAudioVolumeIndication: 開啟。
參數 | 類型 | 說明 |
|---|---|---|
|
| 本地音量資訊,詳見 |
onVideoDeviceStateChanged:
視頻裝置採集操作狀態變化回調。
參數 | 類型 | 說明 |
|---|---|---|
|
| 視頻裝置狀態,詳見 |
onDataMsg:
收到即時資料訊息回調。
參數 | 類型 | 說明 |
|---|---|---|
|
| 資料訊息,詳見 |
AoqAudioFrameDelegate
音訊框架資料回調協議,所有方法均為 @optional。請不要在回調中做任何耗時操作,否則可能導致聲音異常。
onCapturedAudioFrame:
採集裸資料回調。通過 enableAudioFrameObserver: 設定 audioSource = AoqAudioSourceCaptured 開啟,支援設定採樣率、聲道數,支援讀寫入模式。
參數 | 類型 | 說明 |
|---|---|---|
|
| 採集音頻裸資料,詳見 |
onProcessCapturedAudioFrame:
3A 後資料回調。通過 enableAudioFrameObserver: 設定 audioSource = AoqAudioSourceProcessCaptured 開啟,支援設定採樣率、聲道數,支援讀寫入模式。
參數 | 類型 | 說明 |
|---|---|---|
|
| 3A 處理後音頻裸資料,詳見 |
onPublishAudioFrame:frame:
推流資料回調。通過 enableAudioFrameObserver: 設定 audioSource = AoqAudioSourcePublish 開啟,支援設定採樣率、聲道數,僅支援唯讀模式。
參數 | 類型 | 說明 |
|---|---|---|
|
| 音軌類型,詳見 |
|
| 推流音頻裸資料,詳見 |
onPlaybackAudioFrame:
播放資料回調。通過 enableAudioFrameObserver: 設定 audioSource = AoqAudioSourcePlayback 開啟,支援設定採樣率、聲道數,支援讀寫入模式。
參數 | 類型 | 說明 |
|---|---|---|
|
| 播放音頻裸資料,詳見 |
AoqVideoFrameDelegate
視訊框架資料回調協議,所有方法均為 @optional。請不要在回調中做任何耗時操作,否則可能導致畫面卡頓。回調返回 YES 表示資料已修改、需寫回 SDK(寫回僅對 I420 / CVPixelBuffer 生效);返回 NO 表示唯讀。frame 中的資料僅在回調期間有效,非同步使用需自行拷貝。
onCapturedVideoFrame:
本地採集後裸資料回調(前處理前)。通過 enableVideoFrameObserver: 設定 videoSource = AoqVideoSourceCaptured 開啟。
參數 | 類型 | 說明 |
|---|---|---|
|
| 採集視訊框架資料,詳見 |
YES 資料已修改、需寫回 SDK;NO 唯讀。
onPreEncodeVideoFrame:frame:
本地編碼前裸資料回調(前處理後)。通過 enableVideoFrameObserver: 設定 videoSource = AoqVideoSourcePreEncode 開啟。
參數 | 類型 | 說明 |
|---|---|---|
|
| 視頻軌道類型,詳見 |
|
| 編碼前視訊框架資料,詳見 |
YES 資料已修改、需寫回 SDK;NO 唯讀。
onRemoteVideoFrame:frame:
遠端解碼後、渲染前裸資料回調。通過 enableVideoFrameObserver: 設定 videoSource = AoqVideoSourceRemote 開啟。
參數 | 類型 | 說明 |
|---|---|---|
|
| 視頻軌道類型,詳見 |
|
| 遠端視訊框架資料,詳見 |
YES 資料已修改、需寫回 SDK;NO 唯讀。
資料類型與枚舉
通用類型
AoqCreateConfig
引擎建立配置。
欄位 | 類型 | 預設值 | 說明 |
|---|---|---|---|
|
|
| SDK 工作目錄 |
|
|
| 是否開啟音頻未經處理資料 dump(調試用) |
|
|
| 擴充參數 |
AoqConnectConfig
串連 Relay 伺服器配置。
欄位 | 類型 | 說明 |
|---|---|---|
|
| 串連鑒權 Token |
|
| 會話 ID |
|
| 伺服器憑證指紋 |
|
| Relay 存取點列表 |
|
| 工作空間雜湊 ID |
|
| 本端推流 track 屬性數組 |
|
| 本端拉流 track 屬性數組 |
AoqRelayEndpoint
Relay 存取點。
欄位 | 類型 | 預設值 | 說明 |
|---|---|---|---|
|
|
| 路徑序號 |
|
|
| 服務端地址(網域名稱或 IP) |
|
|
| 服務端連接埠 |
AoqTrackParam
track 屬性。
欄位 | 類型 | 預設值 | 說明 |
|---|---|---|---|
|
|
| track 類型 |
|
|
| 流式與非流式模式,僅對音頻下行生效 |
AoqDataMsg
即時訊息資料結構。
欄位 | 類型 | 說明 |
|---|---|---|
|
| 訊息內容,指向調用方持有的記憶體 |
統計資訊類型
AoqStats
引擎統計資訊。
欄位 | 類型 | 說明 |
|---|---|---|
|
| 音頻推流統計數組 |
|
| 視頻推流統計數組 |
|
| 資料訊息推流統計數組 |
|
| 音頻拉流統計數組 |
|
| 視頻拉流統計數組 |
|
| 資料訊息拉流統計數組 |
|
| 網路統計資訊 |
AoqNetworkStats
網路統計資訊。
欄位 | 類型 | 說明 |
|---|---|---|
|
| 發送碼率(bps) |
|
| 累計發送位元組數 |
|
| 接收碼率(bps) |
|
| 累計接收位元組數 |
|
| 丟包率(0-100) |
|
| 往返延遲(ms) |
AoqAudioPublishStats
音頻推流統計資訊。
欄位 | 類型 | 說明 |
|---|---|---|
|
| 軌道類型 |
|
| 碼率(bps) |
|
| 累計位元組數 |
|
| 推流編碼音量 |
AoqVideoPublishStats
視頻推流統計資訊。
欄位 | 類型 | 說明 |
|---|---|---|
|
| 軌道類型 |
|
| 碼率(bps) |
|
| 累計位元組數 |
|
| 編碼幀率 |
AoqDataMsgPublishStats
資料訊息推流統計資訊。
欄位 | 類型 | 說明 |
|---|---|---|
|
| 軌道類型 |
|
| 碼率(bps) |
|
| 累計位元組數 |
AoqAudioSubscribeStats
音頻拉流統計資訊。
欄位 | 類型 | 說明 |
|---|---|---|
|
| 軌道類型 |
|
| 碼率(bps) |
|
| 累計位元組數 |
|
| 播放音量 |
AoqVideoSubscribeStats
視頻拉流統計資訊。
欄位 | 類型 | 說明 |
|---|---|---|
|
| 軌道類型 |
|
| 碼率(bps) |
|
| 累計位元組數 |
|
| 解碼幀率 |
|
| 渲染幀率 |
AoqDataMsgSubscribeStats
資料訊息拉流統計資訊。
欄位 | 類型 | 說明 |
|---|---|---|
|
| 軌道類型 |
|
| 碼率(bps) |
|
| 累計位元組數 |
枚舉類型
AoqErrorCode
錯誤碼枚舉。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 成功 |
| 1 | 參數非法 |
| 2 | 狀態非法 |
| 3 | 介面不支援 |
| 100 | 音頻通用錯誤 |
| 110 | 外部音頻緩衝區滿 |
| 120 | 音訊裝置通用錯誤 |
| 121 | 錄音許可權未擷取 |
| 122 | 錄音裝置被佔用 |
| 123 | 後台啟動錄音 |
| 124 | 錄音啟動失敗 |
| 125 | 播放裝置被佔用 |
| 126 | 後台啟動播放 |
| 127 | 播放啟動失敗 |
| 200 | 視頻通用錯誤 |
| 210 | 外部視頻緩衝區滿 |
| 211 | 未啟用外部視頻採集 |
| 212 | 未啟用外部視頻編碼 |
| 220 | 視頻裝置通用錯誤 |
| 221 | 網路攝影機開啟失敗 |
| 222 | 網路攝影機許可權未擷取 |
| 223 | 網路攝影機被佔用 |
| 224 | 網路攝影機運行錯誤 |
| 230 | 視頻編解碼通用錯誤 |
| 231 | 編碼器初始化失敗 |
| 240 | 視頻渲染通用錯誤 |
| 241 | 渲染視圖建立失敗 |
| 242 | 渲染繪製錯誤 |
AoqWarningCode
警告碼枚舉。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 無警告 |
| 100 | 音頻通用警告 |
| 101 | 音頻嘯叫檢測 |
| 120 | 音訊裝置通用警告 |
| 121 | 麥克風枚舉錯誤 |
| 122 | 麥克風啟動逾時 |
| 123 | 錄音錯誤 |
| 124 | 擴音器枚舉錯誤 |
| 125 | 擴音器啟動逾時 |
| 126 | 播放錯誤 |
| 200 | 視頻通用警告 |
| 201 | 網路攝影機枚舉錯誤 |
| 202 | 視頻編碼器已切換 |
| 203 | 視頻渲染降級 |
AoqTrackType
軌道類型。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 音頻軌道 |
| 1 | 視頻軌道 |
| 2 | 資料訊息軌道 |
AoqEncoderType
編碼器類型。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 未知格式 |
| 1 | 音頻 PCM |
| 2 | 音頻 Opus |
| 3 | 視頻 H.264 |
| 4 | 視頻 JPEG |
| 5 | 資料文本 |
AoqTrackMode
流式與非流式模式,僅對音頻下行生效。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 分段:資料按語義片段(如一句話)打包送達 |
| 1 | 流式:資料持續、連續地送達 |
AoqConnectionStatus
引擎串連狀態。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 未串連 |
| 1 | 串連中 |
| 2 | 已串連 |
| 3 | 串連失敗 |
音訊類型
AoqAudioCaptureConfig
音頻採集配置。
欄位 | 類型 | 預設值 | 說明 |
|---|---|---|---|
|
|
| 是否外部採集 |
|
|
| 音頻採集通道數,支援 1/2 |
AoqAudioPlaybackConfig
音頻播放配置。
欄位 | 類型 | 預設值 | 說明 |
|---|---|---|---|
|
|
| 是否外部播放 |
|
|
| 音頻播放通道數,支援 1/2 |
AoqAudioCodecConfig
音頻編解碼配置。
欄位 | 類型 | 預設值 | 說明 |
|---|---|---|---|
|
|
| 軌道類型 |
|
|
| 編碼格式 |
|
|
| 採樣率(Hz) |
|
|
| 聲道數 |
|
|
| 位元速率(bps) |
AoqAudioDeviceState
音訊裝置狀態。
欄位 | 類型 | 說明 |
|---|---|---|
|
| 狀態代碼 |
|
| 錯誤碼( |
AoqAudioDeviceStateCode
音訊裝置狀態代碼。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 無狀態 |
| 1 | 採集正在啟動 |
| 2 | 採集已啟動 |
| 3 | 採集正在停止 |
| 4 | 採集已停止 |
| 5 | 採集失敗 |
| 6 | 播放正在啟動 |
| 7 | 播放已啟動 |
| 8 | 播放正在停止 |
| 9 | 播放已停止 |
| 10 | 播放失敗 |
AoqAudioDeviceRouteType
音訊裝置路由類型。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 預設 |
| 1 | 耳機 |
| 2 | 耳機 |
| 3 | 無麥耳機 |
| 4 | 內建擴音器 |
| 5 | USB |
| 6 | 藍芽 |
| 7 | 藍芽 A2DP |
AoqAudioFileMixConfig
音頻檔案推流播放配置。
欄位 | 類型 | 預設值 | 說明 |
|---|---|---|---|
|
| - | 檔案名稱(含路徑),必填 |
|
|
| 迴圈次數,-1 表示無限迴圈 |
|
|
| 起始播放位置(ms) |
|
|
| 推流音量,範圍 [0, 100] |
|
|
| 播放音量,範圍 [0, 100] |
AoqAudioFileState
音頻檔案狀態。
欄位 | 類型 | 說明 |
|---|---|---|
|
| 檔案 ID |
|
| 狀態代碼 |
|
| 錯誤碼 |
AoqAudioFileStateCode
音頻檔案狀態代碼。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 無狀態 |
| 1 | 開始播放 |
| 2 | 停止播放 |
| 3 | 暫停播放 |
| 4 | 恢複播放 |
| 5 | 播放完畢 |
| 6 | 正在緩衝 |
| 7 | 緩衝結束 |
| 8 | 播放失敗 |
AoqAudioFileErrorCode
音頻檔案播放錯誤碼。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 沒有錯誤 |
| 1 | 開啟檔案失敗 |
| 2 | 解碼檔案失敗 |
AoqAudioExternalStreamConfig
外部音頻流配置。
欄位 | 類型 | 預設值 | 說明 |
|---|---|---|---|
|
|
| 音頻軌道類型 |
|
|
| 音頻流格式,支援 PCM |
|
|
| 聲道數 |
|
|
| 採樣率(Hz) |
|
|
| 播放音量,範圍 [0, 100] |
|
|
| 推流音量,範圍 [0, 100] |
|
|
| 最大緩衝時間長度(ms) |
|
|
| 輸入 PCM 是否做 3A 處理 |
AoqAudioFrameData
外部音頻資料。
欄位 | 類型 | 說明 |
|---|---|---|
|
| 音頻 PCM 裸資料指標 |
|
| PCM 資料位元組數 |
|
| 採樣點數(單聲道) |
|
| 每個採樣點位元組數 |
|
| 聲道數 |
|
| 每秒採樣點數 |
|
| PCM 輸入輪次 |
|
| 時間戳記 |
|
| 資料回調有效, |
AoqAudioStreamDirection
外部音頻流方向。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 推流音頻 |
| 1 | 播放音頻 |
AoqAudioExternalStreamToggle
外部音頻流切換狀態。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 恢複正常 |
| 1 | 暫停 |
AoqAudioSource
音訊框架回調資料來源。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 採集的音頻資料 |
| 1 | 3A 後的音頻資料 |
| 2 | 推流的音頻資料(需 Connect 成功) |
| 3 | 播放的音頻資料 |
AoqAudioObserverMode
音訊框架回調模式。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 唯讀 |
| 1 | 讀寫 |
AoqAudioObserverConfig
音訊框架回調配置。
欄位 | 類型 | 預設值 | 說明 |
|---|---|---|---|
|
|
| 回調音頻採樣率 |
|
|
| 回調音頻聲道數 |
|
|
| 讀寫入模式 |
AoqAudioVolumeIndicationConfig
本地音量提示配置。
欄位 | 類型 | 預設值 | 說明 |
|---|---|---|---|
|
|
| 回調間隔(ms);<=0 關閉回調,>0 且 <10 時按 10 處理 |
|
|
| 音量平滑係數,範圍 [0, 10],取值越大越平滑 |
AoqAudioVolume
本地音量資訊。
欄位 | 類型 | 說明 |
|---|---|---|
|
| 平滑後的瞬時音量,範圍 [0, 255] |
視頻類型
AoqVideoCaptureConfig
視頻採集配置。
欄位 | 類型 | 預設值 | 說明 |
|---|---|---|---|
|
|
| 採集寬度(像素); |
|
|
| 採集高度(像素); |
|
|
| 採集幀率; |
|
|
| 是否外部採集; |
AoqVideoCanvas
視頻渲染資料結構。
欄位 | 類型 | 預設值 | 說明 |
|---|---|---|---|
|
|
| 顯示視圖,傳 nil 表示移除渲染綁定 |
|
|
| 渲染模式 |
view 生命週期長於 setLocalView: / setRemoteView: 設定期間。
AoqRenderMode
渲染顯示模式。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 自動模式 |
| 1 | 展開平鋪模式,寬高比不一致時展開到目標比例,畫面會變形 |
| 2 | 填充黑邊模式,寬高比不一致時上下或左右填充黑邊 |
| 3 | 裁剪模式,寬高比不一致時裁剪寬或高,畫面內容會丟失 |
AoqVideoPixelFormat
視頻像素格式。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 未知格式 |
| 1 | I420 |
| 2 | NV12 |
| 3 | NV21 |
| 4 | BGRA |
| 5 | RGBA |
| 6 | 零拷貝路徑, |
AoqVideoFrame
外部視頻資料。
欄位 | 類型 | 說明 |
|---|---|---|
|
| 像素格式 |
|
| 寬度(像素) |
|
| 高度(像素) |
|
| 打包格式資料(NV12/NV21/BGRA/RGBA) |
|
| I420 三平面資料 |
|
| I420 三平面步長 |
|
| 零拷貝, |
|
| 時間戳記(ms);0 時 SDK 用本地時鐘補 |
AoqVideoEncodedFrame
外部已編碼視訊框架。調用方自行完成編碼,SDK 不做二次編碼,直接打包發送。
欄位 | 類型 | 說明 |
|---|---|---|
|
| 編碼格式 |
|
| 編碼後資料 |
|
| 寬度(像素) |
|
| 高度(像素) |
|
| 時間戳記(ms);0 時 SDK 用本地時鐘補 |
AoqVideoCodecType
外部編碼幀 codec 類型。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | JPEG |
AoqVideoDeviceState
視頻裝置狀態。
欄位 | 類型 | 說明 |
|---|---|---|
|
| 狀態代碼 |
|
| 錯誤碼( |
AoqVideoDeviceStateCode
視頻裝置狀態代碼。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 無狀態 |
| 1 | 網路攝影機正在啟動 |
| 2 | 網路攝影機已啟動 |
| 3 | 網路攝影機正在停止 |
| 4 | 網路攝影機已停止 |
| 5 | 網路攝影機啟動失敗 |
AoqMirrorMode
鏡像模式。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 關閉鏡像 |
| 1 | 開啟鏡像 |
AoqOrientationMode
方向模式。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 自動 |
| 1 | 豎屏 |
| 2 | 橫屏 |
AoqVideoCodecConfig
視頻編解碼參數(編解碼共用)。用於解碼時僅 trackType / codecType / width / height / fps / bitrate 生效(作為訂閱提議參與協商),其餘欄位僅編碼使用。
欄位 | 類型 | 預設值 | 說明 |
|---|---|---|---|
|
|
| 外部編碼模式; |
|
|
| 軌道類型 |
|
|
| 編碼格式 |
|
|
| 解析度寬 |
|
|
| 解析度高 |
|
|
| 幀率 |
|
|
| 起始碼率(bps) |
|
|
| 最小碼率(bps) |
|
|
| 主要畫面格間隔(秒) |
|
|
| 鏡像模式 |
|
|
| 方向模式 |
AoqVideoSource
視訊框架回調資料來源(管線位置)。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 採集後的視頻資料(前處理前) |
| 1 | 編碼前的視頻資料(前處理後) |
| 2 | 遠端解碼後、渲染前的視頻資料 |
AoqVideoObserverMode
視訊框架回調模式。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 唯讀 |
| 1 | 讀寫 |
AoqVideoObserverAlignment
視頻輸出寬度對齊。
枚舉值 | 值 | 說明 |
|---|---|---|
| 0 | 預設 |
| 1 | 偶數對齊 |
| 2 | 4 對齊 |
| 3 | 8 對齊 |
| 4 | 16 對齊 |
AoqVideoObserverConfig
視訊框架回調配置。
欄位 | 類型 | 預設值 | 說明 |
|---|---|---|---|
|
|
| 期望回調像素格式 |
|
|
| 寬度對齊策略 |
|
|
| 讀寫入模式,僅 I420 / CVPixelBuffer 支援 ReadWrite |
|
|
| 是否對回調資料應用鏡像 |
AoqRenderView
渲染視圖控制項,繼承自 NSView,可作為 AoqVideoCanvas.view 使用。
屬性 | 類型 | 說明 |
|---|---|---|
|
| 引擎內部顯示視圖 |
|
| 渲染寬度 |
|
| 渲染高度 |
|
| 是否啟用 Metal 渲染 |
|
| 渲染視圖事件委託 |
AoqRenderViewDelegate
渲染視圖事件委託協議。
回調 | 說明 |
|---|---|
| 渲染視圖尺寸變化回調 |