全部服务产品
开发者频道
定价
登录
语音合成
下载开发文档

使用SDK内置百度TTS语音播报功能需要导入libBNTTSComponentSDK.a静态库,并且需要对应用进行授权验证才能够使用,因此需要主动注册应用相关信息。

模拟器不能使用SDK内置的百度TTS语音播报功能。

内置 TTS

TTS授权申请

申请TTS授权前需先申请SDK授权,SDK授权申请

1. 以SDK授权申请时相同账号登录,点击右上角的“控制台“,进入控制台界面,点击左侧导航栏“语音技术”,然后点击创建应用。
login.png

application.png
2. 按步骤填入应用名称、包名等信息。
3. 点击立即创建会生成 App ID、API Key 和 Secret Key,就是在开发中初始化TTS时需要传入的参数。

TTS 鉴权

代码参考:

// 使用内置TTS
[BNaviService_Instance authorizeTTSAppId:TTS_APP_ID
apiKey:TTS_API_KEY
secretKey:TTS_SECRET_KEY
completion:^(BOOL suc) {
NSLog(@"authorizeTTS ret = %d",suc);
}];
外置 TTS

开发者也可以选择不使用SDK提供的TTS SDK进行播报,可以使用外部TTS播报。如果是这种情况,把libBNOpenTTSComponent.a和baiduTTSSDK.bundle从项目工程中去掉。该能力相关接口和回调在BNSoundProtocol.h中。

使用外置TTS步骤:

(1)设置delegate,进入导航前设置,可以启动app后设置。

[BNaviService_Sound setSoundDelegate:self];

(2)实现以下回调:

/**
* TTS文本回调
*/
- (void)onPlayTTS:(NSString*)text {
//调用外置的TTS进行文本播报
[self playText:text];
}
/**
* TTS音效回调
* @param type 音效类型
* @param filePath 音频文件路径
*/
- (void)onPlayVoiceSound:(BNVoiceSoundType)type filePath:(NSString *)filePath {
//filePath为mp3音频文件的目录,可以使用AVPlayer进行mp3文件播报
[self playVoiceSound:filePath];
}
/**
* 使用自定义的tts播报,需要在此回调外部tts是否正在播报,sdk内部会根据播报状态判断是否继续回调文案
* @return 返回自定义TTS是否在播报
*/
- (BOOL)ttsIsPlaying {
//返回外置TTS是否正在播报
return [self isPlaying];
}
注意:- (BOOL)ttsIsPlaying需要准确返回外置TTS是否正在播报。如果一直返回YES,SDK内部会认为外界一直在播报, onPlayTTS:就会一直不触发,导致无文字吐出;如一直返回NO,文字吐出的频率可能会过快,会出现语句打断的情况,所以请根据实际情况返回。

上一篇

无UI导航

下一篇

传入外部定位点数据

本篇文章对您是否有帮助?