You need to enable JavaScript to run this app.
文档中心
豆包语音

豆包语音

复制全文
下载 pdf
模型下发
模型下发接口说明(V2)
复制全文
下载 pdf
模型下发接口说明(V2)

SDK的离线功能需要离线模型资源,我们提供了相关接口完成动态下载、更新模型数据以及检测模型是否可用。

状态码

模型下发相关接口统一的状态码定义。

枚举名

枚举值

含义

kSERSuccess

0

成功

kSERDownloadFailed

-1

模型下载失败

kSERUnzipFailed

-2

模型解压失败

kSERCreateFileFailed

-3

模型文件创建失败

kSERFetchModelInfoFailed

-4

查询模型信息失败

初始化模型下发

模型下发能力依赖语音合成 SDK 的网络功能, 在初始化模型下发之前必须先完成环境依赖的相关配置。
配置模型下发各项参数,并调用初始化接口。该接口需要在其他部分接口开始前完成调用。

参数说明

参数名

参数类型

是否必须

默认值

含义

DeviceId

string

是

""

设备 ID,用于判断特定用户,以便查找相关日志定位问题。

AppId

string

是

""

应用 Id,用于确定当前业务方。

AppVersion

string

是

""

App 版本号。

RootPath

string

是

""

模型下发根路径,包括模型缓存、配置文件、最终模型等都会放在这个目录下。这个目录下最好不要存放其他文件,因为在模型升级时,有时会将这个目录清空。

OnlineModelEnable

bool

是

true

是否使用线上模型,非联调场景不要使用线下模型。

示例代码

#import "SpeechResourceManager.h"

SpeechResourceManager *speechResourceManager = [SpeechResourceManager shareInstance];
[speechResourceManager setAppId:@"{APP ID}"];
[speechResourceManager setAppVersion:@"{APP VERSION}"];
[speechResourceManager setDeviceId:@"{DEVICE ID}"];
[speechResourceManager setRootPath:@"{ROOT PATH}"];
[speechResourceManager setOnlineModelEnable:YES];
[speechResourceManager setup];

检测模型是否存在

判断模型是否存在,不要在初始化执行完成后立刻进行检查。建议将初始化放在 App 启动时,而在需要时再检测模型是否存在。

#import "SpeechResourceManager.h"

SpeechResourceManager *speechResourceManager = [SpeechResourceManager shareInstance];
BOOL modelExist = [speechResourceManager checkModelExist:SE_TTS_MODEL];

检测模型是否需要更新

该接口为异步接口,调用时需提供回调。

示例代码

#import "SpeechResourceManager.h"

SpeechResourceManager *speechResourceManager = [SpeechResourceManager shareInstance];
[speechResourceManager checkModelVersion:SE_TTS_MODEL completion:^(SEResourceStatus status, BOOL needUpdate, NSData *data) {
    if (status == kSERSuccess) {
        if (needUpdate) {
            NSLog(@"Model need update");
        } else {
            NSLog(@"Model doesn't need update");
        }
    } else {
        NSLog(@"Model check failed: %@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
    }
}];

回调参数说明

回调参数

类型

含义

status

SEResourceStatus

参考 状态码 部分说明

needUpdate

BOOL

是否需要更新模型

data

NSData *

额外信息,状态码为成功时值为模型路径,状态码为失败时值为错误信息。

下载/更新至最新模型

该接口为异步接口,调用时需提供回调。

示例代码

#import "SpeechResourceManager.h"

SpeechResourceManager *speechResourceManager = [SpeechResourceManager shareInstance];
[speechResourceManager fetchModelByName:SE_TTS_MODEL completion:^(SEResourceStatus status, NSData* data) {
    if (status == kSERSuccess) {
        NSLog(@"Model download succeed");
    } else {
        NSLog(@"Mode download failed");
    }
}];

回调参数说明

回调参数

类型

含义

status

SEResourceStatus

参考 状态码 部分说明

data

NSData *

额外信息,状态码为成功时值为模型路径,状态码为失败时值为错误信息。

获取模型路径

获取模型路径。该接口只是返回模型路径,并不保证该路径存在或模型是否可用。但如果成功下载了模型,最终模型文件必定会在此路径下。配置离线资源路径时,可以使用该接口的返回值。

#import "SpeechResourceManager.h"

SpeechResourceManager *speechResourceManager = [SpeechResourceManager shareInstance];
NSString *modelPath = [speechResourceManager getModelPath:SE_TTS_MODEL];
最近更新时间:2025.07.03 13:42:43
这个页面对您有帮助吗?
有用
有用
无用
无用