概述
TXIoTCallSession 负责与设备之间的音视频通话,包括发起呼叫、挂断、远端画面渲染、麦克风/摄像头控制及音频输出设备选择。TXIoTCallSession 通过 TXIoTEngine.getCallSession 获取实例,需在登录成功后调用。
说明:
回调模型:通话事件通过
TXIoTCallListener 接口回调,所有 Listener 回调在主线程触发,公共类型与错误码定义见 TXIoTEngineDef。渲染视图参数 TXView 为 string 类型,传 ArkUI XComponent 组件的 id(该 XComponent 需设置 type: XComponentType.SURFACE、libraryname: 'liteavsdk')。方法列表
方法签名 | 描述 |
addListener | 添加通话事件监听器。 |
removeListener | 移除通话事件监听器。 |
callDevice | 向设备发起通话(音频/视频)。 |
hangup | 挂断当前通话。 |
startRemoteView | 开始渲染远端视频。 |
stopRemoteView | 停止渲染远端视频。 |
openMicrophone | 打开麦克风。 |
closeMicrophone | 关闭麦克风。 |
openCamera | 打开摄像头并设置本地预览视图。 |
closeCamera | 关闭摄像头。 |
switchCamera | 切换摄像头(前后置)。 |
selectAudioPlaybackDevice | 选择音频播放设备(扬声器/听筒)。 |
addListener
addListener
addListener | (listener: TXIoTCallListener): void |
添加通话事件监听器。
参数 | 描述 |
listener | TXIoTCallListener;监听器实例。 |
removeListener
removeListener
removeListener | (listener: TXIoTCallListener): void |
移除通话事件监听器。
参数 | 描述 |
listener | TXIoTCallListener;监听器实例。 |
callDevice
callDevice
callDevice | (deviceId: TXIoTDeviceId, callType: TXIoTCallMediaType): void |
向设备发起通话(音频/视频)。
参数 | 描述 |
deviceId | |
callType | TXIoTCallMediaType;通话类型(音频/视频)。 |
hangup
hangup
hangup | (): void |
挂断当前进行中的通话。
startRemoteView
startRemoteView
startRemoteView | (callUser: TXIoTCallUser, view: TXView): void |
开始渲染远端视频。
参数 | 描述 |
callUser | TXIoTCallUser;参与通话的用户。 |
view | TXView(string);视频渲染视图,传 XComponent 组件的 id。 |
stopRemoteView
stopRemoteView
stopRemoteView | (callUser: TXIoTCallUser): void |
停止渲染远端视频。
参数 | 描述 |
callUser | TXIoTCallUser;参与通话的用户。 |
openMicrophone
openMicrophone
openMicrophone | (): void |
打开麦克风。
closeMicrophone
closeMicrophone
closeMicrophone | (): void |
关闭麦克风。
openCamera
openCamera
openCamera | (camera: TXIoTCamera, view: TXView): void |
打开摄像头并设置本地预览视图。
参数 | 描述 |
camera | TXIoTCamera;摄像头(前置/后置)。 |
view | TXView(string);本地预览渲染视图,传 XComponent 组件的 id。 |
closeCamera
closeCamera
closeCamera | (): void |
关闭摄像头。
switchCamera
switchCamera
switchCamera | (camera: TXIoTCamera): void |
切换摄像头(前后置)。
参数 | 描述 |
camera | TXIoTCamera;摄像头(前置/后置)。 |
selectAudioPlaybackDevice
selectAudioPlaybackDevice
selectAudioPlaybackDevice | (device: TXIoTAudioPlaybackDevice): void |
选择音频播放设备(扬声器/听筒)。
参数 | 描述 |
device | TXIoTAudioPlaybackDevice;音频播放设备(扬声器/听筒)。 |
通话事件回调
TXIoTCallListener 为 ArkTS 接口,所有回调方法均为可选,调用方可按需实现。TXIoTCallListener
回调方法 | 说明 |
onError(code: TXIoTErrorCode, msg: string) | 通话发生错误。 |
onCallBegin(mediaType: TXIoTCallMediaType) | 通话开始。 |
onCallEnd(mediaType: TXIoTCallMediaType, reason: TXIoTCallEndReason) | 通话结束,携带结束原因。 |
onCallRejected(callUser: TXIoTCallUser) | 通话被对方拒接。 |
onCallNoResponse(callUser: TXIoTCallUser) | 对方无应答。 |
onCallLineBusy(callUser: TXIoTCallUser) | 对方占线。 |
onCallUserOffline(callUser: TXIoTCallUser) | 对方离线。 |
onCallUserAudioAvailable(callUser: TXIoTCallUser, available: boolean) | 远端用户音频状态发生变化。 |
onCallUserVideoAvailable(callUser: TXIoTCallUser, available: boolean) | 远端用户视频状态发生变化。 |
onCallNetworkQualityChanged(localQuality: TXIoTQuality, remoteQualityList: TXIoTQuality[]) | 网络质量变化通知。 |
通话相关数据结构与枚举
TXIoTCallMediaType
TXIoTCallMediaType
枚举 | 说明 |
AUDIO | 音频通话。 |
VIDEO | 视频通话。 |
TXIoTCallEndReason
TXIoTCallEndReason
枚举 | 说明 |
UNKNOWN | 未知原因。 |
LOCAL_HANGUP | 本地挂断。 |
REMOTE_HANGUP | 远端挂断。 |
CALL_PERMISSION_DENIED | 呼叫权限被拒绝。 |
NETWORK_ERROR | 网络错误。 |
TXIoTAudioPlaybackDevice
TXIoTAudioPlaybackDevice
枚举 | 说明 |
SPEAKER_PHONE | 扬声器(外放)。 |
EAR_PIECE | 听筒。 |
TXIoTCamera
TXIoTCamera
枚举 | 说明 |
FRONT | 前置摄像头。 |
BACK | 后置摄像头。 |
TXIoTNetworkQuality
TXIoTNetworkQuality
枚举 | 说明 |
EXCELLENT | 极佳。 |
GOOD | 良好。 |
POOR | 较差。 |
BAD | 差。 |
VERY_BAD | 很差。 |
DOWN | 网络不可用。 |
TXIoTCallUser
TXIoTCallUser
字段 | 说明 |
deviceId | 参与通话的设备 ID。 |
TXIoTQuality
TXIoTQuality
字段 | 说明 |
callUser | 网络质量对应的通话用户。 |
quality | 网络质量等级,见 TXIoTNetworkQuality。 |