更新时间:2024-12-30 06:17:36下载pdf
双向音视频通话包含基于 音视频功能 扩展的双向传输能力和呼叫能力。SDK 发出呼叫请求的同时,发起视频直播,开启本地音视频采集。对端接听和 P2P 通道连接后,进行双向音视频传输。
演示录屏 | 类 | 接口 | 描述 | 备注 |
---|---|---|---|---|
ThingSmartCameraFactory
|
+(id
|
创建 ThingSmartCameraType 对象
|
一个设备 ID 对应一个 ThingSmartCameraType 对象
|
|
ThingSmartCallChannel
|
-(void)fetchDeviceCallAbilityByDevId:completion:
|
设备是否支持双向视频对讲高级能力 | - | |
- (void)launch
|
启动呼叫服务 | - | ||
- (BOOL)registerCallInterfaceManager:
|
注册呼叫 UI 管理 | 负责生成、跳转和退出呼叫页面 | ||
- (BOOL)addDelegate:
|
添加代理 |
ThingSmartCallChannelDelegate 详细说明请参考本表格
|
||
- (BOOL)isOnCalling
|
是否正在呼叫 | - | ||
- (void)startCallWithTargetId:timeout:extra:success:failure:
|
发起呼叫 |
failure 中返回对应错误信息
|
||
- (void)handlePushMessage:
|
处理呼叫推送消息 | - | ||
ThingSmartCallChannelDelegate
|
- (void)callChannel:didReceiveInvalidCall:
|
呼叫无效 | 参数等非法等 | |
- (void)callChannel:didReceiveInvalidPushCall:
|
呼叫推送无效 | 参数等非法/呼叫过期等 | ||
- (void)callChannel:didReceiveCallEventsMessage:
|
拦截所有呼叫事件消息 | 不推荐,如需自定义呼叫流程可使用 | ||
ThingSmartCameraType
|
-(void)connectWithMode:
|
连接 | -3 或 -105 建议重连 | |
- (void)bindLocalVideoView:
|
绑定本地视频渲染视图 | - | ||
- (void)unbindLocalVideoView
|
解绑本地视频渲染视图 | - | ||
-(int)startLocalVideoCaptureWithVideoInfo:
|
开始本地视频采集 |
注意手机摄像头的权限申请:NSCameraUsageDescription
|
||
-(int)stopLocalVideoCapture
|
停止本地视频采集 | - | ||
-(int)switchLocalCameraPosition
|
切换手机摄像头方向 | - | ||
- (void)startTalk
|
开始音频对讲 | - | ||
- (void)stopTalk
|
结束音频对讲 | - | ||
- (int)startVideoTalk
|
开始视频对讲 | - | ||
-(int)stopVideoTalk
|
结束视频对讲 | - | ||
- (int)pauseVideoTalk
|
暂停视频对讲 | - | ||
- (int)resumeVideoTalk
|
恢复视频对讲 | - | ||
-(int)startAudioRecordWithAudioInfo:
|
开始音频采集 |
注意手机麦克风的权限申请:NSMicrophoneUsageDescription
|
||
-(int)stopAudioRecord
|
结束音频采集 | - | ||
- (void)startPreviewWithDefinition:
|
指定清晰度开始直播 |
根据设备能力上报获取清晰度,开始直播成功后通过 ThingSmartCameraDelegate 中的 - (void)cameraDidBeginPreview: 方法回调
|
||
- (int)stopPreview
|
停止直播 |
停止直播成功后,通过 ThingSmartCameraDelegate 中的 - (void)cameraDidStopPreview: 方法回调
|
||
-(int)disConnect
|
断开连接 | - | ||
ThingSmartCameraDelegate
|
-(void)cameraInitFailed:
|
创建 ThingSmartCameraType 对象失败
|
P2P 类型不支持 | |
-(void)cameraDidConnected:
|
连接成功 | - | ||
- (void)cameraDidBeginPreview:
|
开始直播成功 | - | ||
- (void)camera:didReceiveLocalVideoSampleBuffer:localVideoInfo:
|
手机摄像头视频流数据 | - | ||
- (void)cameraDidBeginTalk:
|
开始语音对讲回调 | - | ||
- (void)cameraDidStopTalk:
|
结束语音对讲回调 | - | ||
- (void)cameraDidStartVideoTalk:
|
开始视频对讲回调 | - | ||
- (void)cameraDidStopVideoTalk:
|
结束视频对讲回调 | - | ||
- (void)cameraDidPauseVideoTalk:
|
暂停视频对讲回调 | - | ||
- (void)cameraDidResumeVideoTalk:
|
恢复视频对讲回调 | - | ||
- (void)cameraDidStopPreview:
|
停止直播成功 | - | ||
-(void)camera:didOccurredErrorAtStep:specificErrorCode:
|
返回直播相关操作失败的步骤和错误码 | 连接、开始直播、停止直播等操作 |
+ (id<ThingSmartCameraType>)cameraWithP2PType:(id)type deviceId:(NSString *)devId delegate:(id<ThingSmartCameraDelegate>)delegate;
- (void)cameraInitFailed:(ThingSmartCameraErrorCode)errorCode;
- (void)connectWithMode:(ThingSmartCameraConnectMode)mode;
- (void)cameraDidConnected:(id<ThingSmartCameraType>)camera;
//开始直播
- (void)startPreviewWithDefinition:(ThingSmartCameraDefinition)definition;
//开始直播成功
- (void)cameraDidBeginPreview:(id<ThingSmartCameraType>)camera;
//停止直播
- (void)stopPreview;
//停止直播成功
- (void)cameraDidStopPreview:(id<ThingSmartCameraType>)camera;
//主动断开连接
- (void)disConnect;
//被动断开连接
- (void)cameraDisconnected:(id<ThingSmartCameraType>)camera specificErrorCode:(NSInteger)errorCode;
//绑定自定义本地视频渲染视图
- (void)bindLocalVideoView:(UIView<ThingSmartVideoViewType> *)videoView;
//解绑自定义本地视频渲染视图
- (void)unbindLocalVideoView:(UIView<ThingSmartVideoViewType> *)videoView;
//开启音频采集
-(int)startAudioRecordWithAudioInfo:(nullable id<ThingSmartLocalAudioInfoType>)audioInfo;
//开启音频对讲
- (void)startTalk;
//开启音频对讲完成
- (void)cameraDidBeginTalk:(id<ThingSmartCameraType>)camera;
//关闭音频采集
-(int)stopAudioRecord;
//停止音频对讲
- (void)stopTalk;
//停止音频对讲完成
- (void)cameraDidStopTalk:(id<ThingSmartCameraType>)camera;
//开启本地摄像头
-(int)startLocalVideoCaptureWithVideoInfo:(nullable id<ThingSmartLocalVideoInfoType>)videoInfo;
//关闭本地摄像头
-(int)stopLocalVideoCapture;
//切换摄像头
-(int)switchLocalCameraPosition;
//本地视频流数据
- (void)camera:(id<ThingSmartCameraType>)camera didReceiveLocalVideoSampleBuffer:(CMSampleBufferRef)sampleBuffer localVideoInfo:(id<ThingSmartLocalVideoInfoType>)localVideoInfo;
//开始视频对讲
- (int)startVideoTalk;
//开始视频对讲完成回调
- (void)cameraDidStartVideoTalk:(id<ThingSmartCameraType>)camera;
//停止视频对讲
-(int)stopVideoTalk;
//停止视频对讲完成回调
- (void)cameraDidStopVideoTalk:(id<ThingSmartCameraType>)camera;
//暂停视频对讲
- (int)pauseVideoTalk;
//暂停视频对讲完成回调
- (void)cameraDidPauseVideoTalk:(id<ThingSmartCameraType>)camera;;
//恢复视频对讲
- (int)resumeVideoTalk;
//恢复视频对讲完成回调
- (void)cameraDidResumeVideoTalk:(id<ThingSmartCameraType>)camera;
SDK sample 中包含完整流程,可点击查看。
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈