iOS-百度语音合成的使用

转载自https://blog.csdn.net/Feng512275/article/details/78056198

目前语音功能比较出名的就是百度、讯飞语音,当然还有其他平台的语音功能,比如微信之类的。

目前我只用过百度、讯飞的语音,具体是讯飞的语音识别和百度的语音合成。很奇葩是吧,为啥要分开来用。要么就选讯飞的语音识别+语音合成,要么就选讯飞的语音识别+语音合成。老板要求的,这个理由够不够,哈哈哈~

回归正题,百度的语音合成,建个新工程再玩一下。


一、百度语音开放平台注册应用

百度语音开放平台:
百度语音-永久免费智能语音开放平台

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述


二、Xcode导入相应的库

你点击你创建的应用,里面有对应的SDK供你选择。当处创建应用的时候,由于你只选了语音合成,所以只能下载语音合成的SDKTTS就是语音合成。


导入必备的的库,并且把TTS对应的文件也拖进来。

这里写图片描述


三、开始使用TTS

参考代码:

//
//  ViewController.m
//  BDSpeechSynthesis
//
//  Created by HZhenF on 2017/9/21.
//  Copyright © 2017年 GZHYTechnology. All rights reserved.
//

#import "ViewController.h"
#import "BDSSpeechSynthesizer.h"

#define ScreenW [UIScreen mainScreen].bounds.size.width
#define ScreenH [UIScreen mainScreen].bounds.size.height

NSString *APP_ID = @"10162806";
NSString *API_KEY = @"BSyQC2PPqSFsBbRjEZXXrRZe";
NSString *SECRET_KEY = @"9307853c7104ffc3e9cd0922b7f38d99";

@interface ViewController ()<BDSSpeechSynthesizerDelegate>

@property(nonatomic,strong) UITextView *textView;

@property(nonatomic,strong) BDSSpeechSynthesizer *BDSpeech;

@end

@implementation ViewController


-(BDSSpeechSynthesizer *)BDSpeech
{
    if (!_BDSpeech) {
        //设置、获取日志级别
        [BDSSpeechSynthesizer setLogLevel:BDS_PUBLIC_LOG_VERBOSE];
        _BDSpeech = [BDSSpeechSynthesizer sharedInstance];
        //设置合成器代理
        [_BDSpeech setSynthesizerDelegate:self];
        //为在线合成设置认证信息
        [_BDSpeech setApiKey:API_KEY withSecretKey:SECRET_KEY];
        //设置语调
        [_BDSpeech setSynthParam:[NSNumber numberWithInt:4] forKey:BDS_SYNTHESIZER_PARAM_PITCH];
        //设置语速
        [_BDSpeech setSynthParam:[NSNumber numberWithInt:5] forKey:BDS_SYNTHESIZER_PARAM_SPEED];
    }
    return _BDSpeech;
}

- (void)viewDidLoad {
    [super viewDidLoad];

    [self configureControls];

    //初始化百度语音
    [self BDSpeech];

}

-(void)configureControls
{
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
    btn.frame = CGRectMake(100, 100, 100, 50);
    [btn setTitle:@"点击播放" forState:UIControlStateNormal];
    [btn addTarget:self action:@selector(btnAction) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn];

    CGFloat W = 300;
    CGFloat H = 200;
    CGFloat X = 0.5*(ScreenW - W);
    CGFloat Y = CGRectGetMaxY(btn.frame) + 30;
    UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(X, Y, W,H)];
    textView.backgroundColor = [UIColor yellowColor];
    textView.font = [UIFont systemFontOfSize:17.0];
    [self.view addSubview:textView];
    self.textView = textView;}



-(void)btnAction
{
    NSString *contentStr = self.textView.text;
    //朗读内容
    [self.BDSpeech speakSentence:contentStr withError:nil];
}


@end

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87

这里写图片描述



打完收工,iPhone X 这适配要做死人呢~

猜你喜欢

转载自blog.csdn.net/Draven__/article/details/89305648