跳到主要内容

API 参考

DubbingEngine

prepare

准备引擎所需的资源并执行鉴权。首次调用时会下载音色模型文件,因此耗时较长。

getVoiceList

获取可用音色列表。只有在引擎完成 prepare 之后,才会返回音色列表。

返回值: json:[{"id":10, "name":"xx"},{"id":11, "name":"xxx"}],音色列表可能为空。

getCurrentVoice

获取当前设置的音色。
返回值: 音色 ID,可能为 0。

start

启动变声处理。

stop

停止变声处理,但不会退出变声线程。执行该方法后,线程内数据会被清空,线程进入休眠状态。

getEngineStatus

获取当前引擎状态。

setVoice(voiceId: int)

调用该方法时,会首先检查该音色所需的模型是否已加载;如果未加载,则会先将模型加载到内存中。

设置音色。该操作为异步操作,结果会通过 DubbingCallback 回调返回。

注意:
只有在引擎 prepare 成功后才能设置音色。无论当前是否正在变声,都可以设置音色;例如在变声进行中,音色设置成功后会立即切换为新的音色。

releaseEngine

释放引擎资源并终止线程。

transform(originData: char* data, int dataSize): bool?

对音频数据进行变声处理。
输入:originData: char* data, int dataSize
返回:bool(是否转换成功)。

checkResources

检查是否需要下载所需的资源文件。

setMode

设置引擎处理模式(例如 Pro 模式)。

setMode(mode: DubbingMode, intonation: Float, pitch: Float)
参数名参数类型描述
mode[DubbingMode]模式枚举
intonationfloat情感起伏 / 语调
pitchfloat音高

getSupportIntonation

检查当前音色是否支持语调调节。

getSupportPitch

检查当前音色是否支持音高调节。

getMode

获取当前引擎模式。

getIntonation

获取当前语调值。

getPitch

获取当前音高值。

proCalibration

执行 Pro 模式校准。

getDelayMillis(): int

获取处理延迟(毫秒)。返回:int

EngineConfig 默认参数说明

参数名参数类型默认值描述
m_dubbbingCallBackIDubbbingCallBacknullptr引擎事件回调
m_sampleRateint48000输入采样率
m_channelint1默认声道数
m_formatAudioSampleFormatAUDIO_PCM_S16默认音频格式
m_tokenstd::string""鉴权 token,由开发者获取
m_resourcePathstd::stringdubbing_resource默认路径示例:${context.filesDir}/dubbing_resource
m_muteOnFailbooltrue变声失败时是否静音
m_enableLogboolfalse是否打印引擎运行日志
m_enableTransformLogboolfalse是否打印变声过程日志(开启后日志量较大)
m_isSyncboolfalse是否使用同步变声

DubbingEngineCallback

(其余内容保持不变,已翻译)