在Agora云录制SDK中,可以使用AgoraIoWrapper类中的record方法来实现云录制。在Android端,需要在Application类中初始化AgoraIoWrapper实例,然后在Activity类中启动云录制功能。 但是,在流式传输时,Agora云录制不会将文件保存到S3中,只会在本地生成一个.m4a格式的文件。如果需要将文件保存到S3中,需要在AgoraIoWrapper类的record方法中添加以下代码:
final String storeBucket = "YOUR_BUCKET_NAME";
final String storeObjectName = "YOUR_OBJECT_NAME";
final boolean append = true; // append new data to an existing file or not
IAgoraStorageCallback callback = new IAgoraStorageCallback() {
@Override
public void onUploadProgress(String uploadId, long uploadedBytes, long totalBytes) {
// do something when file is uploading
}
@Override
public void onUploadSuccess(String uploadId) {
// do something when file upload is complete
}
@Override
public void onUploadFailed(String uploadId, String reason) {
// do something when file upload failed
}
};
AgoraIoWrapper.getAgoraIoWrapper().setStorageConfig(storeBucket, storeObjectName);
AgoraIoWrapper.getAgoraIoWrapper().startRecordWithStorage(callback, append);
此处需要设置bucket名称和对象名称,以及回调函数,可以在文件上传时获取上传进度和上传结果。注意,在设置bucket和object之前,应确保已配置S3存储。