概述
TXIoTCallSession 负责与设备之间的音视频通话,包括发起呼叫、挂断、远端画面渲染、麦克风/摄像头控制及音频输出设备选择。TXIoTCallSession 通过 TXIoTEngine.getCallSession 获取实例,需在 TXIoTEngine 登录成功后调用。
说明:
回调模型:通话事件通过
TXIoTCallDelegate 协议回调,所有 Delegate 回调在主线程触发。公共类型与错误码定义见 TXIoTEngineDef。方法列表
方法签名 | 描述 |
添加通话事件代理。 | |
移除通话事件代理。 | |
向设备发起音视频通话。 | |
挂断当前通话。 | |
开始远端画面渲染。 | |
停止远端画面渲染。 | |
打开麦克风。 | |
关闭麦克风。 | |
打开摄像头。 | |
关闭摄像头。 | |
切换摄像头。 | |
选择音频播放设备。 |
addDelegate:
addDelegate:
void addDelegate: | (id<TXIoTCallDelegate> delegate) |
添加通话事件代理
参数 | 描述 |
delegate | id<TXIoTCallDelegate>;通话事件代理对象。 |
removeDelegate:
removeDelegate:
void removeDelegate: | (id<TXIoTCallDelegate> delegate) |
移除通话事件代理
参数 | 描述 |
delegate | id<TXIoTCallDelegate>;要移除的通话事件代理对象。 |
callDevice:callType:
callDevice:callType:
void callDevice:callType: | (TXIoTDeviceId* deviceId, TXIoTCallMediaType callType) |
向设备发起音视频通话
参数 | 描述 |
deviceId | |
callType |
hangup
hangup
void hangup | () |
挂断当前通话
startRemoteView:view:
startRemoteView:view:
void startRemoteView:view: | (TXIoTCallUser* callUser, TXView* view) |
开始渲染远端画面
参数 | 描述 |
callUser | |
view | TXView*;用于渲染远端画面的视图。 |
stopRemoteView:
stopRemoteView:
void stopRemoteView: | (TXIoTCallUser* callUser) |
停止远端画面渲染
参数 | 描述 |
callUser |
openMicrophone
openMicrophone
void openMicrophone | () |
打开麦克风
closeMicrophone
closeMicrophone
void closeMicrophone | () |
关闭麦克风
openCamera:view:
openCamera:view:
void openCamera:view: | (TXIoTCamera camera, TXView* view) |
打开摄像头
参数 | 描述 |
camera | |
view | TXView*;用于渲染本地画面的视图。 |
closeCamera
closeCamera
void closeCamera | () |
关闭摄像头
switchCamera:
selectAudioPlaybackDevice:
selectAudioPlaybackDevice:
void selectAudioPlaybackDevice: | (TXIoTAudioPlaybackDevice device) |
选择音频播放设备
参数 | 描述 |
device |
通话事件回调
TXIoTCallDelegate 协议定义通话事件回调,所有方法均为 @optional。TXIoTCallDelegate
回调 | 说明 |
onError:errorMessage: | |
onCallBegin: | 通话开始,返回通话类型(音频/视频)。 |
onCallEnd:reason: | 通话结束,返回挂断原因。 |
onCallRejected: | 对方拒绝接听。 |
onCallNoResponse: | 对方无响应。 |
onCallLineBusy: | 对方线路忙。 |
onCallUserOffline: | 对方不在线。 |
onCallUserAudioAvailable:available: | 远端音频可用性变化。 |
onCallUserVideoAvailable:available: | 远端视频可用性变化。 |
onCallNetworkQualityChanged:remoteQualityList: | 网络质量变化通知。 |
通话相关数据结构与枚举
TXIoTCallUser
TXIoTCallUser
参与通话的用户信息,用于标识通话对端。
字段 | 说明 |
deviceId | 通话对端的设备 ID。 |
TXIoTQuality
TXIoTQuality
网络质量信息。
字段 | 说明 |
callUser | 网络质量对应的通话用户。 |
quality | 网络质量等级。 |
TXIoTCallMediaType
TXIoTCallMediaType
通话类型枚举。
枚举 | 取值 | 说明 |
TXIoTCallMediaTypeAudio | 0 | 音频通话。 |
TXIoTCallMediaTypeVideo | 1 | 视频通话。 |
TXIoTCallEndReason
TXIoTCallEndReason
通话结束原因枚举。
枚举 | 取值 | 说明 |
TXIoTCallEndReasonUnknown | 0 | 未知原因。 |
TXIoTCallEndReasonLocalHangup | 1 | 本地挂断。 |
TXIoTCallEndReasonRemoteHangup | 2 | 远端挂断。 |
TXIoTCallEndReasonCallPermissionDenied | 3 | 呼叫权限被拒绝。 |
TXIoTCallEndReasonNetworkError | 4 | 网络错误。 |
TXIoTAudioPlaybackDevice
TXIoTAudioPlaybackDevice
枚举 | 取值 | 说明 |
TXIoTAudioPlaybackDeviceSpeakerphone | 0 | 扬声器(外放)。 |
TXIoTAudioPlaybackDeviceEarpiece | 1 | 听筒。 |
TXIoTCamera
TXIoTCamera
枚举 | 取值 | 说明 |
TXIoTCameraFront | 0 | 前置摄像头。 |
TXIoTCameraBack | 1 | 后置摄像头。 |
TXIoTNetworkQuality
TXIoTNetworkQuality
枚举 | 取值 | 说明 |
TXIoTNetworkQualityExcellent | 0 | 极佳 |
TXIoTNetworkQualityGood | 1 | 良好 |
TXIoTNetworkQualityPoor | 2 | 较差 |
TXIoTNetworkQualityBad | 3 | 差 |
TXIoTNetworkQualityVeryBad | 4 | 很差 |
TXIoTNetworkQualityDown | 5 | 网络不可用 |