AgoraMediaRtcRecorder 类
AgoraMediaRtcRecorder
public AgoraMediaRtcRecorder(long handle)
创建一个 AgoraMediaRtcRecorder
录制器实例。
参数
参数 | 数据类型 | 描述 |
---|---|---|
handle | long | 录制器实例的原生句柄。 |
initialize
public int initialize(AgoraService service, boolean enableMix)
初始化录制器实例,并设置服务和是否启用合流模式。
参数
参数 | 数据类型 | 描述 |
---|---|---|
service | AgoraService | 声网服务实例,调用该方法前需先初始化。详见 AgoraService 。 |
enableMix | boolean | 录制时是否启用合流模式:
|
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
joinChannel
public int joinChannel(String token, String channelName, String userId)
加入一个声网 RTC 频道。
参数
参数 | 数据类型 | 描述 |
---|---|---|
token | String | 用于鉴权的 。 |
channelName | String | 要加入的频道名。频道名不能超过 64 字节,支持以下字符:
|
userId | String | 本地用户的用户 ID。如果设为 null,系统会自动分配一个用户 ID。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
leaveChannel
public int leaveChannel()
离开当前频道。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
enableEncryption
public int enableEncryption(boolean enabled, EncryptionConfig config)
启用或禁用内置加密。
在高安全性场景下,建议在加入频道前调用该方法。频道内所有用户必须使用相同的加密模式和密钥。当所有用户离开频道时,加密密钥会被自动清除。
参数
参数 | 数据类型 | 描述 |
---|---|---|
enabled | boolean | 是否启用内置加密:
|
config | EncryptionConfig | 加密配置参数。详见 EncryptionConfig 。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
subscribeAllAudio
public int subscribeAllAudio()
订阅频道中所有远端用户的音频流。
该方法会自动订阅频道中所有新加入用户的音频流。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
subscribeAllVideo
public int subscribeAllVideo(VideoSubscriptionOptions options)
订阅频道中所有远端用户的视频流。
该方法会自动订阅新加入频道的所有远端用户的视频流。
参数
参数 | 数据类型 | 描述 |
---|---|---|
options | VideoSubscriptionOptions | 视频订阅选项。详见 VideoSubscriptionOptions 。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
unsubscribeAllAudio
public int unsubscribeAllAudio()
停止订阅所有远端用户的音频流。
除非你显式调用 subscribeAudio
或 subscribeAllAudio
方法,否则该方法会自动停止订阅后续加入用户的音频流。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
unsubscribeAllVideo
public int unsubscribeAllVideo()
停止订阅所有远端用户的视频流。
除非你显式调用 subscribeVideo
或 subscribeAllVideo
,该方法会自动停止订阅所有新加入用户的视频。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
subscribeAudio
public int subscribeAudio(String userId)
订阅指定远端用户的音频流。
参数
参数 | 数据类型 | 描述 |
---|---|---|
userId | String | 你想要订阅音频的远端用户的用户 ID。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
- -2:
userId
无效。
- -2:
unsubscribeAudio
public int unsubscribeAudio(String userId)
停止订阅指定远端用户的音频流。
参数
参数 | 数据类型 | 描述 |
---|---|---|
userId | String | 要取消订阅音频的远端用户 ID。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
- -2:
userId
无效。
- -2:
subscribeVideo
public int subscribeVideo(String userId, VideoSubscriptionOptions options)
订阅指定远端用户的视频流。
参数
参数 | 数据类型 | 描述 |
---|---|---|
userId | String | 要订阅视频的远端用户 ID。 |
options | VideoSubscriptionOptions | 视频订阅选项,详见 VideoSubscriptionOptions 。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
- -2:
userId
无效。
- -2:
unsubscribeVideo
public int unsubscribeVideo(String userId)
停止订阅远端用户的视频流。
参数
参数 | 数据类型 | 描述 |
---|---|---|
userId | String | 要取消订阅视频流的远端用户 ID。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
- -2:
userId
无效。
- -2:
setAudioVolumeIndicationParameters
public int setAudioVolumeIndicationParameters(int intervalInMs)
设置 onAudioVolumeIndication
回调的时间间隔。
参数
参数 | 数据类型 | 描述 |
---|---|---|
intervalInMs | int | 设置两次音量提示之间的时间间隔(毫秒,默认值为 500)。
|
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
setVideoMixingLayout
public int setVideoMixingLayout(VideoMixingLayout layout)
设置视频合流布局。
该方法用于配置不同视频流在合流输出中的布局位置和尺寸。
参数
参数 | 数据类型 | 描述 |
---|---|---|
layout | VideoMixingLayout | 视频合流布局的配置。详见 VideoMixingLayout 。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
setRecorderConfig
public int setRecorderConfig(MediaRecorderConfiguration config)
配置录制器实例的设置。
该方法必须在开始录制之前调用。
参数
参数 | 数据类型 | 描述 |
---|---|---|
config | MediaRecorderConfiguration | 录制器的配置参数。详见 MediaRecorderConfiguration 。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
setRecorderConfigByUid
public int setRecorderConfigByUid(MediaRecorderConfiguration config, String userId)
为指定用户设置录制器配置。
参数
参数 | 数据类型 | 描述 |
---|---|---|
config | MediaRecorderConfiguration | 录制器配置参数。详见 MediaRecorderConfiguration 。 |
userId | String | 要设置录制配置的用户 ID。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
startRecording
public int startRecording()
启动录制进程。
调用该方法前,请先使用 setRecorderConfig
配置录制器实例。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
stopRecording
public int stopRecording()
停止录制进程。
该方法会停止所有正在进行的录制,并保存录制文件。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
startSingleRecordingByUid
public int startSingleRecordingByUid(String userId)
启动指定用户的录制进程。
参数
参数 | 数据类型 | 描述 |
---|---|---|
userId | String | 要启动录制的用户 ID。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
stopSingleRecordingByUid
public int stopSingleRecordingByUid(String userId)
停止指定用户的录制进程。
参数
参数 | 数据类型 | 描述 |
---|---|---|
userId | String | 指定要停止录制的用户 ID。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
registerRecorderEventHandler
public int registerRecorderEventHandler(IAgoraMediaRtcRecorderEventHandler handler)
注册一个用于录制事件的事件处理器。
该方法用于注册事件处理器,以接收录制相关的事件回调,例如状态变化、错误以及录制进度更新。
参数
参数 | 数据类型 | 描述 |
---|---|---|
handler | IAgoraMediaRtcRecorderEventHandler | 事件处理器。详见 IAgoraMediaRtcRecorderEventHandler 。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
unregisterRecorderEventHandler
public int unregisterRecorderEventHandler(IAgoraMediaRtcRecorderEventHandler handler)
取消注册之前注册的事件处理器。
参数
参数 | 数据类型 | 描述 |
---|---|---|
handler | IAgoraMediaRtcRecorderEventHandler | 要取消注册的事件处理器。详见 IAgoraMediaRtcRecorderEventHandler 。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
enableAndUpdateVideoWatermarks
public int enableAndUpdateVideoWatermarks(WatermarkConfig[] watermarkConfigs)
为视频流添加水印。
参数
参数 | 数据类型 | 描述 |
---|---|---|
watermarkConfigs | WatermarkConfig[] | 水印配置。详见 WatermarkConfig 。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
disableVideoWatermarks
public int disableVideoWatermarks()
禁用视频流中的水印。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
enableAndUpdateVideoWatermarksByUid
public int enableAndUpdateVideoWatermarksByUid(WatermarkConfig[] watermarkConfigs, String userId)
为指定用户的视频流添加水印。
参数
参数 | 数据类型 | 描述 |
---|---|---|
watermarkConfigs | WatermarkConfig[] | 水印配置。详见 WatermarkConfig 。 |
userId | String | 你希望添加水印的视频流所属用户的 ID。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
disableVideoWatermarksByUid
public int disableVideoWatermarksByUid(String userId)
根据用户 ID 关闭其视频流上的水印。
参数
参数 | 数据类型 | 描述 |
---|---|---|
userId | String | 要关闭水印的视频流对应的用户 ID。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
renewToken
public int renewToken(String token)
为当前会话续订 。
当 onError
回调报告错误码 ERR_TOKEN_EXPIRED (109)
,或触发 onTokenPrivilegeWillExpire
或 onTokenPrivilegeDidExpire
回调时,你必须在你的服务器上生成一个新的 ,并调用该方法进行续订。否则,SDK 将会从声网频道断开连接。
参数
参数 | 数据类型 | 描述 |
---|---|---|
token | String | 从你的服务器生成的新 。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。
release
public int release()
释放与录制器实例关联的原生资源。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。