1.1. 存储卡回放

涂鸦 IPC 摄像机支持 SD卡录制功能,智能摄像机插入存储卡后,可以查看存储卡的信息和状态,并设置录像开关和模式,详情可以参考 存储卡管理功能

存储卡回放需要 Camera SDK 通过云端服务器信息,接着创建 ICameraP2P 对象,然后进行 P2P 连接后,就可以播放摄像机 SD 卡录制下来的视频了。

1.1.1. 视频片段

获取有回放视频记录的日期

在开始回放前,需要获取到回放视频记录的信息。首先获取有回放视频记录的日期

接口说明

void queryRecordDaysByMonth(int year, int month, OperationDelegateCallBack callBack);

参数说明

参数 说明
year 查询的年份
month 查询的月份
monthcallBack 结果回调

示例代码

int year = Integer.parseInt(substring[0]);
int mouth = Integer.parseInt(substring[1]);
queryDay = Integer.parseInt(substring[2]);
mCameraP2P.queryRecordDaysByMonth(year, mouth, new OperationDelegateCallBack() {
  @Override
  public void onSuccess(int sessionId, int requestId, String data) {
    //data是获取到的月份数据
    MonthDays monthDays = JSONObject.parseObject(data, MonthDays.class);
    mBackDataMonthCache.put(mCameraP2P.getMonthKey(), monthDays.getDataDays());
    mHandler.sendMessage(MessageUtil.getMessage(MSG_DATA_DATE, ARG1_OPERATE_SUCCESS, data));
  }

  @Override
  public void onFailure(int sessionId, int requestId, int errCode) {
    mHandler.sendMessage(MessageUtil.getMessage(MSG_DATA_DATE, ARG1_OPERATE_FAIL));
  }
});

获取某日的视频回放信息

获取到有用回放记录的日期后,根据日期获取当日的视频回放记录

接口说明

void queryRecordTimeSliceByDay(int year, int month, int day, OperationDelegateCallBack callBack);

参数说明

参数 说明
year 查询的年份
month 查询的月份
day 查询的天
callBack 结果回调

示例代码

int year = Integer.parseInt(substring[0]);
int mouth = Integer.parseInt(substring[1]);
int day = Integer.parseInt(substring[2]);
mCameraP2P.queryRecordTimeSliceByDay(year, mouth, day, new OperationDelegateCallBack() {
  @Override
  public void onSuccess(int sessionId, int requestId, String data) {                    
    //data是获取到的日期时间片段数据
    parsePlaybackData(data);
  }

  @Override
  public void onFailure(int sessionId, int requestId, int errCode) {
    mHandler.sendEmptyMessage(MSG_DATA_DATE_BY_DAY_FAIL);
  }
});

1.1.2. 视频播放

开启回放

接口说明

void startPlayBack(int startTime, int stopTime, int playTime, OperationDelegateCallBack callBack, OperationDelegateCallBack finishCallBack);

参数说明

参数 说明
startTime 开始时间
stopTime 结束时间
playTime 播放时间
callBack 开启回放回调
finishcallBack 结束回放回调

示例代码

mCameraP2P.startPlayBack(timePieceBean.getStartTime(),
                         timePieceBean.getEndTime(),
                         timePieceBean.getStartTime(), new OperationDelegateCallBack() {
                           @Override
                           public void onSuccess(int sessionId, int requestId, String data){
                             isPlayback = true;
                           }

                           @Override
                           public void onFailure(int sessionId, int requestId, int errCode){
                             isPlayback = false;
                           }
                         }, new OperationDelegateCallBack() {
                           @Override
                           public void onSuccess(int sessionId, int requestId, String data){
                             isPlayback = false;
                           }

                           @Override
                           public void onFailure(int sessionId, int requestId, int errCode){
                             isPlayback = false;
                           }
                         });

暂停回放

接口说明

void pausePlayBack(OperationDelegateCallBack callBack);

参数说明

参数 说明
callBack 操作回调

示例代码

mCameraP2P.pausePlayBack(new OperationDelegateCallBack() {
  @Override
  public void onSuccess(int sessionId, int requestId, String data) {
    isPlayback = false;
  }

  @Override
  public void onFailure(int sessionId, int requestId, int errCode) {

  }
});

恢复回放

接口说明

void resumePlayBack(OperationDelegateCallBack callBack);

参数说明

参数 说明
callBack 操作回调

示例代码

mCameraP2P.resumePlayBack(new OperationDelegateCallBack() {
  @Override
  public void onSuccess(int sessionId, int requestId, String data) {
    isPlayback = true;
  }

  @Override
  public void onFailure(int sessionId, int requestId, int errCode) {

  }
});

结束回放

接口说明

void stopPlayBack(OperationDelegateCallBack callBack);

参数说明

参数 说明
callBack 操作回调

示例代码

mCameraP2P.stopPlayBack(new OperationDelegateCallBack() {
  @Override
  public void onSuccess(int sessionId, int requestId, String data) {

  }

  @Override
  public void onFailure(int sessionId, int requestId, int errCode) {

  }
});

1.1.3. 流程图

开启回放成功后,可以使用音视频功能,例如开启/停止视频录制、视频截图、开启/关闭视频声音,详情可参考 音视频功能

results matching ""

    No results matching ""