实时播放音视频(Play audio and video)
创建一个Manager对象,并用 - create方法进行初始化,该对象可对摄像头进行其他操作。(Create a Manager object and initialize it with the-create method, which can perform other operations on the camera.)
KHJDeviceManager *manager = [[KHJDeviceManager alloc] init];
[manager createKHJCameraBase:Uid];
是否接受实时视频(Whether to accept live video)
BOOL ret = [manager startRecvVideo:YES withUid:self.myInfo.deviceUid reternBlock:^(BOOL k) {
// 解码数据回调,网络延时收不到数据,6s后重连(Decoded data callback, no data received after network delay, reconnect after 6s)
}];
if(ret) {
// 视频放入队列成功(Successfully put the video in the queue)
// 监听设备状态(Monitor device status)
[manager registerActivePushListener:^(int type, NSString *dString, NSString *uidStr) {
// type - 0 设备开启 1 设备关闭 2 开始录屏 3 停止录屏 5 设备SD卡插拔 6 视频质量切换 8 布防/撤防(0 Device on 1 Device off 2 Start screen recording 3 Stop screen recording 5 Device SD card insertion and removal 6 Video quality switching 8 Arming/disarming)
// dString 用于 type = 6,表示清晰度(Used for type = 6, for clarity)
// dString 用于 type = 8,表示布防/撤防(Used for type = 8, indicating arming/disarming)
}];
}
是否接受实时音频(Whether to accept real-time audio)
注:回放时,关闭实时音频线程(Note: During playback, close the real-time audio thread)
// 打开音频线程(Open audio thread)
[manager startRecvAudio:YES];
// 关闭音频线程(Close audio thread)
[manager startRecvAudio:NO];
关闭音频(Turn off audio)
回放时,调用 closeAudio
方法,关闭音频线程(During playback, call the closeAudio
method to close the audio thread)
// 关闭音频(Turn off audio)
[manager closeAudio];
实时播放时,是否播放音频(Whether to play audio during real-time playback)
// 打开监听功能(Open monitoring function)
[manager isPlayRecvAudio:YES];
// 关闭监听功能(Close monitoring function)
[manager isPlayRecvAudio:NO];
是否录制视频(Whether to record video)
实时视频 和 回放时,都可以通过这个方法录屏(During real-time video and playback, you can use this method to record screen)
// 开始录屏(Start recording)
[manager startRecordMp4:YES];
// 结束录屏(End screen recording)
[manager startRecordMp4:NO];
发送音频(Send audio)
// 开始发送音频(Start sending audio)
[manager startSendAudio:YES];
// 停止发送音频(Stop sending audio)
[manager startSendAudio:NO];
延时停止录音线程(Delay to stop the recording thread)
// 延时,停止录音,避免对讲时,最后一段语音无法发送(Delay, stop recording, to avoid the last voice cannot be sent during intercom)
[manager delayStopRerord:YES];
// 语音对讲完毕,恢复(Voice intercom is complete, resume)
[manager delayStopRerord:NO];