IOS

对讲

版本/作者/日期修改内容
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(@"请求开启对讲");
        }
    }
}
版权所有:深圳新瑞彩网络科技有限公司

信产部备案号:粤ICP备09050685号