实时播放音视频(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];