对讲
版本/作者/日期 | 修改内容 |
---|---|
1.0/Sandy/2015-09-24 | 初版 |
6.对讲
条件:摄像机连接成功
语法:
1)函数
-(int)start_talk; //开启对讲 -(int)start_talk_with_buffer_ms:(unsigned int) buffer_ms; //开启对讲,buffer_ms延迟时间 -(void)stop_talk; //关闭对讲,摄像机断开或离开视频页面,一定要停止对讲,否则下次录像会有异常
2)消息通知
FOUNDATION_EXPORT NSString* const IPCamera_Talk_Status_Changed_Notification;
3) 设置成功后的消息回调
-(void)IPCamera_response_function:(NSNotification*)note;
IPCamera.h宏定义了两种注册消息的方法
#define ADD_IPCAMERA_RESPONSE_WITHOUT_ARG(notice_name) \ [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(IPCamera_response_function:) name: notice_name object: nil] #define ADD_IPCAMERA_RESPONSE_WITH_ARG(notice_name,camera_object) \ [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(IPCamera_response_function:) name: notice_name object: camera_object]
示列:
1)注册消息通知
ADD_IPCAMERA_RESPONSE_WITH_ARG( IPCamera_Talk_Status_Changed_Notification, cam_)
2)开启对讲
[cam_ start_talk]; 或: [cam_ start_talk_with_buffer_ms:50];
3)关闭对讲
[cam_ stop_talk];
4)对讲状态改变时的消息通知
-(void)IPCamera_response_function:(NSNotification*)note { if( [note.name isEqualToString:IPCamera_Talk_Status_Changed_Notification ]) { NSLog(@"对讲状态改变"); if( STATUS_PLAYING == cam_.talk_status) { NSLog(@"对讲开启成功"); } if( STATUS_STOPPED == cam_.talk_status) { NSLog(@"对讲关闭成功"); } if( STATUS_REQUESTING == cam_.talk_status ) { NSLog(@"请求开启对讲"); } } }