Public 成员函数

 RecordingConfig ()
 

Public 属性

boolean isAudioOnly
 
boolean isVideoOnly
 
boolean isMixingEnabled
 
MIXED_AV_CODEC_TYPE mixedVideoAudio
 
String mixResolution
 
String decryptionMode
 
String secret
 
String appliteDir
 
String recordFileRootDir
 
String cfgFilePath
 
VIDEO_FORMAT_TYPE decodeVideo
 
AUDIO_FORMAT_TYPE decodeAudio
 
int lowUdpPort
 
int highUdpPort
 
int idleLimitSec
 
int captureInterval
 
int audioIndicationInterval
 
CHANNEL_PROFILE_TYPE channelProfile
 
REMOTE_VIDEO_STREAM_TYPE streamType
 
int triggerMode
 
String proxyServer
 
int audioProfile
 
String defaultVideoBgPath
 
String defaultUserBgPath
 

构造及析构函数说明

◆ RecordingConfig()

io.agora.recording.common.RecordingConfig.RecordingConfig ( )

类成员变量说明

◆ isAudioOnly

boolean io.agora.recording.common.RecordingConfig.isAudioOnly

是否仅启用音频录制功能:

  • true:启用音频录制且关闭视频录制。
  • false:(默认)启用音视频录制。

与 isVideoOnly 结合使用:

  • 如果 isAudioOnly 为 true,且 isVideoOnly 为 false,则仅录制音频;
  • 如果 isAudioOnly 为 false,且 isVideoOnly 为 true,则仅录制视频;
  • 如果 isAudioOnly 为 false,且 isVideoOnly 为 false,则既录制音频,也录制视频;
  • 不能将 isAudioOnly 和 isVideoOnly 同时设置为 true。

◆ isVideoOnly

boolean io.agora.recording.common.RecordingConfig.isVideoOnly

是否仅启用视频录制功能:

  • true:启动视频录制且关闭音频录制。
  • false:(默认)启用音视频录制。

与 isAudioOnly 结合使用:

  • 如果 isAudioOnly 为 true,且 isVideoOnly 为 false,则仅录制音频;
  • 如果 isAudioOnly 为 false,且 isVideoOnly 为 true,则仅录制视频;
  • 如果 isAudioOnly 为 false,且 isVideoOnly 为 false,则既录制音频,也录制视频;
  • 不能将 isAudioOnly 和 isVideoOnly 同时设置为 true。

◆ isMixingEnabled

boolean io.agora.recording.common.RecordingConfig.isMixingEnabled

设置是否启用合流模式:

  • true:启用合流模式录制。多个 UID 的音频混合成一个纯音频文件,多个 UID 的视频混合成一个纯视频文件。无论频道内有多少用户,都只生成 1 个混合音频文件和 1 个混合视频文件。混合文件的音频属性通过 audioProfile 参数进行设置,视频属性通过 mixResolution 参数进行设置。
  • false:(默认)启用单流模式录制。一个 UID 对应一个音频文件和一个视频文件。录制文件的音频属性为:采样率固定为 48 kHz,声道数和码率与原始音频流保持一致。录制文件的视频属性与原始视频流保持一致。

◆ mixedVideoAudio

MIXED_AV_CODEC_TYPE io.agora.recording.common.RecordingConfig.mixedVideoAudio

合流模式下将一个音频录制文件和一个视频录制文件实时混合成一个既有音频也有视频的 MP4 文件。

该参数有三种模式,详见 MIXED_AV_CODEC_TYPE

注解
仅当 isMixingEnabled 为 true 启用合流模式时有效。

◆ mixResolution

String io.agora.recording.common.RecordingConfig.mixResolution

如果你启用了合流模式,可以通过该参数设置录制文件的视频属性,格式为:width,hight,fps,kbps,分别对应合流的宽、高、帧率和码率。默认设置为 360 x 640, 15 fps, 500 Kbps。

注解
  • 仅当 isMixingEnabled 为 true 启用合流模式时有效。
  • 设置帧率时,仅支持声网标准帧率:1 fps,7 fps,10 fps,15 fps,24 fps,30 fps 和 60 fps。如果你设置成其他帧率,SDK 会采用默认帧率 15 fps。

查看视频分辨率、帧率、码率对照表

◆ decryptionMode

String io.agora.recording.common.RecordingConfig.decryptionMode

当整个频道进行加密时,录制 SDK 启用内置的解密功能。

注解
解密方式必须与频道设置的加密方式一致。

目前支持以下几种解密方式:

  • “aes-128-xts”: 128 位 AES 加密,XTS 模式
  • “aes-128-ecb”: 128 位 AES 加密,ECB 模式
  • “aes-256-xts”: 256 位 AES 加密,XTS 模式

◆ secret

String io.agora.recording.common.RecordingConfig.secret

启用解密模式后,设置的解密密码。

◆ appliteDir

String io.agora.recording.common.RecordingConfig.appliteDir

设置为 AgoraCoreServices 存放的目录。

SDK 包内 AgoraCoreServices 的默认路径为:Agora_Recording_SDK_for_Linux_FULL/bin/

◆ recordFileRootDir

String io.agora.recording.common.RecordingConfig.recordFileRootDir

设置录制文件存放的根目录。默认值为 NULL。设置了此目录后,子路径会自动生成。

◆ cfgFilePath

String io.agora.recording.common.RecordingConfig.cfgFilePath

指定配置文件的路径。默认值为 NULL。在该配置文件里,你可以设置保存录制文件的绝对路径,但不会自动生成子目录。配置文件的内容必须为 JSON 格式,例如:{“Recording_Dir” : “recording path”},其中 “Recording_Dir” 是固定的,不能改动。

◆ decodeVideo

VIDEO_FORMAT_TYPE io.agora.recording.common.RecordingConfig.decodeVideo

视频解码格式。详见 VIDEO_FORMAT_TYPE

注解
VIDEO_FORMAT_TYPE = 1,2,3 或 4 时,isMixingEnabled 不能设为 true。

◆ decodeAudio

AUDIO_FORMAT_TYPE io.agora.recording.common.RecordingConfig.decodeAudio

音频解码格式,详见 AUDIO_FORMAT_TYPE

注解
AUDIO_FORMAT_TYPE = 1,2 或 3 时,isMixingEnabled 不能设为 true。

◆ lowUdpPort

int io.agora.recording.common.RecordingConfig.lowUdpPort

设置最低 UDP 端口。高 UDP 端口与低 UDP 端口差值不能小于 6。

◆ highUdpPort

int io.agora.recording.common.RecordingConfig.highUdpPort

设置最高 UDP 端口。高 UDP 端口与低 UDP 端口差值不能小于 6。

◆ idleLimitSec

int io.agora.recording.common.RecordingConfig.idleLimitSec

设置空闲频道的超时退出时间。该值需大于等于 3 秒,默认值为 300 秒。

该值需大于等于 3 秒。录制时,如果频道空闲(无用户)超过设定的时间,录制 App 自动退出频道,停止录制。

注解
该段时间也会纳入计费。

◆ captureInterval

int io.agora.recording.common.RecordingConfig.captureInterval

设置视频截图的时间间隔,最小值为 1 秒,默认为 5 秒。

注解
仅当 decodeVideo 设为 3,4 或 5 时有效。

◆ audioIndicationInterval

int io.agora.recording.common.RecordingConfig.audioIndicationInterval

说话者监测的时间间隔。

  • ≤ 0:(默认)禁用说话者监测的功能。
  • > 0:说话者监测的时间间隔,单位为 ms,建议设置时间间隔大于 200 ms。一旦检测到频道内有人说话, 就会在 onActiveSpeaker 回调中返回当前时间段内声音最大的用户的 UID,在 onAudioVolumeIndication 回调中返回当前时间段内所有说话者的 UID 和音量。

◆ channelProfile

CHANNEL_PROFILE_TYPE io.agora.recording.common.RecordingConfig.channelProfile

设置频道模式。必须与 Native/Web SDK 的保持一致。详见 CHANNEL_PROFILE_TYPE

◆ streamType

REMOTE_VIDEO_STREAM_TYPE io.agora.recording.common.RecordingConfig.streamType

选择大小流。仅在 Native SDK 或 Web SDK 选择的是双流模式时有效,详见 REMOTE_VIDEO_STREAM_TYPE

◆ triggerMode

int io.agora.recording.common.RecordingConfig.triggerMode

选择录制启动模式。

  • 0:(默认)automatically 模式,即自动模式。录制 App 加入频道即开始录制,退出频道即停止录制。
  • 1:mannually 模式,即手动模式。此模式下,可以调用 startServicestopService 方法灵活开始、暂停录制。

◆ proxyServer

String io.agora.recording.common.RecordingConfig.proxyServer

设置代理服务器。使用该功能可以在内网进行录制。具体使用方法请联系 support@agora.io.

◆ audioProfile

int io.agora.recording.common.RecordingConfig.audioProfile

如果你启用了合流模式,可以通过该参数设置录制文件的音频属性。

  • AUDIO_PROFILE_DEFAULT = 0:(默认)指定 48 KHz 采样率,通信编码,单声道,编码码率约 48 Kbps。
  • AUDIO_PROFILE_MUSIC_HIGH_QUALITY = 1: 指定 48 KHz 采样率,音乐编码, 单声道,编码码率约 128 Kbps。
  • AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO = 2: 指定 48 KHz 采样率,音乐编码, 双声道,编码码率约 192 Kbps。

◆ defaultVideoBgPath

String io.agora.recording.common.RecordingConfig.defaultVideoBgPath

设置合流模式下画布的默认背景图片的路径。如不设置会显示背景色。

注解
仅支持本地 JPEG 文件。

◆ defaultUserBgPath

String io.agora.recording.common.RecordingConfig.defaultUserBgPath

设置合流模式下用户的默认背景图片的路径。如不设置会显示背景色。

合流模式下,如果用户没有视频流,就会显示该图片。

注解
  • 仅支持本地 JPEG 文件。
  • 该设置对 Agora Web SDK 的用户无效。