白板录制

白板支持录制操作。白板录制为白板的回放功能提供数据源。

说明

  • 使用白板录制的前提是完成白板初始化。初始化接口请参见初始化

  • 支持的功能有:打开录制、结束录制、暂停录制、恢复录制。

API使用示例

开始录制

iOS:

id<AIRBRoomChannelProtocol> room = [[AIRBRoomEngine sharedInstance] getRoomChannelWithRoomID:@"xxx"];
[room.whiteboard startRecordingOnSuccess:^(NSString * _Nonnull recordID) {
    NSLog(@"白板录制已开始");
} onFailure:^(NSString * _Nonnull error) {
    NSLog(@"白板开始录制失败(%@)", error);
}];

Android:

whiteboardService.startWhiteboardRecording(new Callback<StartWhiteboardRecordingRsp>() {
    @Override
    public void onSuccess(StartWhiteboardRecordingRsp data) {
        Logger.i(TAG, "onSuccess: ");
    }

    @Override
    public void onError(String errorMsg) {
        Logger.e(TAG, "onError: " + errorMsg);
    }
});

Web:

whiteboardService.startWhiteboardRecording().then(() => { console.log('开始白板录制') })

Windows:

auto room_ptr =
 alibaba::meta_space::MetaSpace::GetInstance()->GetRoomInstance(
room_id);

std::shared_ptr<IWhiteBoard> wb_plugin =
 std::dynamic_pointer_cast<IWhiteBoard>(
room_ptr->GetPlugin(PluginWhiteBoard));
wb_plugin->StartRecord(doc_key, []() {
  },[](const ::alibaba::dps::DPSError & error_msg){
  });

结束录制

iOS:

id<AIRBRoomChannelProtocol> room = [[AIRBRoomEngine sharedInstance] getRoomChannelWithRoomID:@"xxx"];
[room.whiteboard stopRecordingOnSuccess:^{
    NSLog(@"白板录制已结束");
} onFailure:^(NSString * _Nonnull error) {
    NSLog(@"停止白板录制失败");
}];

Android:

whiteboardService.stopWhiteboardRecording(new Callback<Void>() {
    @Override
    public void onSuccess(Void data) {
        Logger.i(TAG, "stopWhiteboardRecording onSuccess: " + data);
    }

    @Override
    public void onError(String errorMsg) {
        Logger.i(TAG, "stopWhiteboardRecording onError: " + errorMsg);
    }
});

Web:

whiteboardService.stopWhiteboardRecording().then(() => { console.log('结束白板录制')

Windows:

auto room_ptr =
 alibaba::meta_space::MetaSpace::GetInstance()->GetRoomInstance(
room_id);

std::shared_ptr<IWhiteBoard> wb_plugin =
 std::dynamic_pointer_cast<IWhiteBoard>(
room_ptr->GetPlugin(PluginWhiteBoard));
wb_plugin->StopRecord(doc_key, []() {
  },[](const ::alibaba::dps::DPSError & error_msg){
  });

暂停录制

iOS:

id<AIRBRoomChannelProtocol> room = [[AIRBRoomEngine sharedInstance] getRoomChannelWithRoomID:@"xxx"];
[room.whiteboard pauseRecordingOnSuccess:^{
   NSLog(@"白板录制已暂停");
} onFailure:^(NSString * _Nonnull error) {
   NSLog(@"白板录制暂停失败");
}];

Android:

whiteboardService.pauseWhiteboardRecording(new Callback<Void>() {
    @Override
    public void onSuccess(Void data) {
        Logger.i(TAG, "pauseWhiteboardRecording: " + data);
    }

    @Override
    public void onError(String errorMsg) {
        Logger.i(TAG, "pauseWhiteboardRecording onError: " + errorMsg);
    }
});

Web:

whiteboardService.pauseWhiteboardRecording().then(() => { console.log('暂停白板录制')

Windows:

auto room_ptr =
 alibaba::meta_space::MetaSpace::GetInstance()->GetRoomInstance(
room_id);

std::shared_ptr<IWhiteBoard> wb_plugin =
 std::dynamic_pointer_cast<IWhiteBoard>(
room_ptr->GetPlugin(PluginWhiteBoard));
wb_plugin->PauseRecord(doc_key, []() {
  },[](const ::alibaba::dps::DPSError & error_msg){
  });

恢复录制

iOS:

id<AIRBRoomChannelProtocol> room = [[AIRBRoomEngine sharedInstance] getRoomChannelWithRoomID:@"xxx"];
[room.whiteboard resumeRecordingOnSuccess:^{
   NSLog(@"白板录制已恢复");
} onFailure:^(NSString * _Nonnull error) {
   NSLog(@"白板录制恢复失败");
}];

Android:

whiteboardService.resumeWhiteboardRecording(new Callback<Void>() {
    @Override
    public void onSuccess(Void data) {
        Logger.i(TAG, "resumeWhiteboardRecording: " + data);
    }

    @Override
    public void onError(String errorMsg) {
        Logger.i(TAG, "resumeWhiteboardRecording onError: " + errorMsg);
    }
});

Web:

whiteboardService.resumeWhiteboardRecording().then(() => { console.log('恢复白板录制')

Windows:

auto room_ptr =
 alibaba::meta_space::MetaSpace::GetInstance()->GetRoomInstance(
room_id);

std::shared_ptr<IWhiteBoard> wb_plugin =
 std::dynamic_pointer_cast<IWhiteBoard>(
room_ptr->GetPlugin(PluginWhiteBoard));
wb_plugin->ResumeRecord(doc_key, []() {
  },[](const ::alibaba::dps::DPSError & error_msg){
  });

阿里云首页 低代码音视频工厂 相关技术圈