ios导航sdk | 百度地图api sdk-凯发k8官方旗舰厅

浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
语音合成
下载开发文档

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

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

内置 tts

tts授权申请

申请tts授权前需先申请sdk授权,sdk授权。

1. 以sdk授权申请时相同账号,点击右上角的“控制台“,进入控制台界面,点击左侧导航栏“语音技术”,然后点击创建应用。
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,文字吐出的频率可能会过快,会出现语句打断的情况,所以请根据实际情况返回。

上一篇

导航实时数据获取

下一篇

传入外部定位点数据

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

网站地图