iOS 百度導航沒有語音播報


1.百度地圖沒有語音播報

可以嘗試如下方式:

1.tts確認相關key正確,可以放入官方demo測試

2.setting中 Product Name 嘗試設置成英文,在info.plist設置Bundle display name為app名稱。

3.可以嘗試使用自定義tts方式

[BNaviService_Instance initNaviService:nil success:^{
                 //導航SDK鑒權
                 [BNaviService_Instance authorizeNaviAppKey:BaiduMapKey
                                                 completion:^(BOOL suc) {
                     NSLog(@"authorizeNaviAppKey ret = %d",suc);
                 }];
                 //TTS SDK鑒權
                 [BNaviService_Instance authorizeTTSAppId:BaiduTTS
                                                   apiKey:TTS_API_KEY
                                                secretKey:TTS_SECRET_KEY
                                               completion:^(BOOL suc) {
                     NSLog(@"authorizeTTS ret = %d",suc);
                 }];
                 // 設置BNNaviSoundDelegate 代理
                 [BNaviService_Sound setSoundDelegate:self];
             } fail:^{
                 NSLog(@"initNaviSDK fail");
             }];
#pragma mark - BNNaviSoundDelegate
- (void)onPlayTTS:(NSString*)text {
    NSLog(@"onPlayTTS text = %@", text);
    BOOL istts = [BNaviService_Sound isTTSPlaying];
    BOOL s = [BNaviService_Sound resume];
    BOOL p = [BNaviService_Sound playText:text];
    //        自定義語音播報
    [self customSound:text];
    NSLog(@"istts:%d,s:%d,p:%d",istts,s,p);
}

/**
 使用自定義的TTS語音播報
 */
- (void)customSound:(NSString *)text
{
    NSLog(@"%@",text);
    //    可以假想成要說的一段話
    AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:text];
    utterance.pitchMultiplier=0.8;
    //中式發音 AVSpeechSynthesisVoice
    AVSpeechSynthesisVoice *voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"zh-CN"];
    //英式發音
    //    AVSpeechSynthesisVoice *voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-GB"];
    utterance.voice = voice;
    NSLog(@"%@",[AVSpeechSynthesisVoice speechVoices]);
    //        語音合成器, 可以假想成一個可以說話的人, 是最主要的接口
    AVSpeechSynthesizer *synth = [[AVSpeechSynthesizer alloc]init];
    [synth speakUtterance:utterance];
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM