1.1. 存储卡回放

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

设备在存储卡中保存视频录像后,可以通过 IPC SDK 在 App 端播放视频录像,同实时视频直播一样,需要创建 ITuyaSmartCameraP2P 对象,连接上 p2p 通道。p2p 通道连接成功后,可以获取到设备端存储卡中录制的视频片段时间信息,然后播放视频片段。

1.1.1. 视频片段

设备端保存在存储卡中的视频片段,IPC SDK 支持以天为单位查看和播放视频录像,并提供查询某年某月中,哪几天保存有视频录像,以便于用户查看。

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

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

接口说明

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 ""