[iOS功能]- 2019最新:iOS 百度语音合成 离线语音注意事项及坑 由于讯飞离线语音是收费的所以选择百度(写的比较详细,配置完直接复制粘贴就可以)

配置注意事项 主要针对离线语音合成

在百度语音开发者平台 如果你不是通过直接创建应用,而是通过应用管理开通语音合成功能,拿到的App ID/API Key/Secret Key name  那么你需要在 应用管理 -> 管理包名 重新设置包名,否则这将影响 离线语音的使用.

[iOS功能]- 2019最新:iOS 百度语音合成 离线语音注意事项及坑 由于讯飞离线语音是收费的所以选择百度(写的比较详细,配置完直接复制粘贴就可以)_第1张图片

1.加入系统的framework库


[iOS功能]- 2019最新:iOS 百度语音合成 离线语音注意事项及坑 由于讯飞离线语音是收费的所以选择百度(写的比较详细,配置完直接复制粘贴就可以)_第2张图片
引入的系统库


[iOS功能]- 2019最新:iOS 百度语音合成 离线语音注意事项及坑 由于讯飞离线语音是收费的所以选择百度(写的比较详细,配置完直接复制粘贴就可以)_第3张图片
把下载好的sdk直接拖入工程

重点:  一定要保证拖入的文件夹为黄色, 如果为蓝色是不被编译的

2.加入头文件  根据自己路径引入头文件

#import "BDSSpeechSynthesizer.h"

3.加代理

BDSSpeechSynthesizerDelegate  //百度语音代理

全部代码: 复制粘贴就好 (前提是你的配置文件已经配置好了!)

    [[BDSSpeechSynthesizer sharedInstance] setApiKey:API_KEY withSecretKey:SECRET_KEY];

    [[BDSSpeechSynthesizer sharedInstance] setSynthesizerDelegate:self]; // 设置委托对象

    NSError*err =nil;

    // 设置离线引擎

    NSString* offlineEngineSpeechData = [[NSBundle mainBundle] pathForResource:@"Chinese_And_English_Speech_Female" ofType:@"dat"];

    NSString* offlineChineseAndEnglishTextData = [[NSBundlemainBundle]pathForResource:@"Chinese_And_English_Text"ofType:@"dat"];

    err = [[BDSSpeechSynthesizer sharedInstance] loadOfflineEngine:offlineChineseAndEnglishTextData  speechDataPath:offlineEngineSpeechData licenseFilePath:nil withAppCode:APP_ID];

    if(err) {NSLog(@"离线TTS初始化失败 ---  %@", err);}

    //选择播音员  0.标准女声 1.普通男声 2.普通男声 3.情感男声 4.情感女声

    [[BDSSpeechSynthesizer sharedInstance] setSynthParam:[NSNumber numberWithInt:0] forKey:BDS_SYNTHESIZER_PARAM_SPEAKER];

    ///音量 0 ~9

    [[BDSSpeechSynthesizer sharedInstance] setSynthParam:[NSNumber numberWithInt:9] forKey:BDS_SYNTHESIZER_PARAM_VOLUME];

    ///语速 0 ~9

    [[BDSSpeechSynthesizer sharedInstance] setSynthParam:[NSNumber numberWithInt:6] forKey:BDS_SYNTHESIZER_PARAM_SPEED];

    ///语调 0 ~9

    [[BDSSpeechSynthesizer sharedInstance] setSynthParam: [NSNumber numberWithInt:6] forKey:BDS_SYNTHESIZER_PARAM_PITCH];

    // 开始合成并播放

    NSError* speakError =nil;

    if([[BDSSpeechSynthesizer sharedInstance] speakSentence:speakStr withError:&speakError] == -1){

        // 错误

        NSLog(@"错误: %ld, %@", (long)speakError.code, speakError.localizedDescription);

    }



你可能感兴趣的:([iOS功能]- 2019最新:iOS 百度语音合成 离线语音注意事项及坑 由于讯飞离线语音是收费的所以选择百度(写的比较详细,配置完直接复制粘贴就可以))