美文网首页专注iOS开发音视频开发iOS Developer
iOS 语音合成,语音播报功能(系统)

iOS 语音合成,语音播报功能(系统)

作者: iOS_愛OS | 来源:发表于2016-08-30 10:57 被阅读2253次
  • 第一次接触语音合成,只实现了很简单的功能,记录一下,以后免得去网上四处找资料

最近在做高德地图导航的时候有个语音播报的功能,高德sdk已经提供了要语音的字符串。我要做的就是把这些字符串读出声音来即可。

系统语音合成

  • 转自这里,我只是重新整理下

系统语音合成

语音合成器的技术是iOS7推出的,可以实现无网络语音功能,支持多种语言
- 1. 定义一个成员变量,记录语音合成器 AVSpeechSynthesizer  
 
#import <AVFoundation/AVFoundation.h> 
  @interfaceViewController ()
{    
    // 合成器 控制播放,暂停
    AVSpeechSynthesizer *_synthesizer;    
     // 实例化说话的语言,说中文、英文 
    AVSpeechSynthesisVoice *_voice;
 }
 
2. 定义语音对象 AVSpeechSynthesisVoice,指定说话的语言  
    zh_CN 中文
    en-US 英文
 
  - (void)viewDidLoad
  {
      [super viewDidLoad];
      // 实例化说话的语言,说中文
      _voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-US"];
      // 要朗诵,需要一个语音合成器
      _synthesizer = [[AVSpeechSynthesizer alloc] init];
 }
 3. 实例化发声对象 AVSpeechUtterance,指定要朗读的内容  
      // 朗诵文本框中的内容
     // 实例化发声的对象,及朗读的内容
    //合成器的说话内容 可以控制说话的语速 等
     AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:_textView.text];
 4.指定语音,和朗诵速度                    
    中文朗诵速度:0.1还能够接受
    英文朗诵速度:0.3还可以
  utterance.voice = _voice;
   utterance.rate = 0.3;
5.启动
   [_synthesizer speakUtterance:utterance];

提示:在制作应用程序时,如果朗诵的内容有限,需要提供专业的配音音频
如果朗诵的内容无限,使用此方法是最佳选择!

后期会补上讯飞和其他语言合成,一起做成demo 发出来


2017-05-08 迟到的demo 我给你们补上了

  • 点击下载demo
    你看大半年过去了我还记得上传demo,不给个star鼓励下我么

相关文章

  • iOS 语音合成,语音播报功能(系统)

    第一次接触语音合成,只实现了很简单的功能,记录一下,以后免得去网上四处找资料 最近在做高德地图导航的时候有个语音播...

  • iOS 语音播报解决方案(实现支付宝语音收款功能)

    iOS 语音播报解决方案(实现支付宝语音收款功能) iOS 语音播报解决方案(实现支付宝语音收款功能)

  • 后台推送-语音播报

    语音播报功能的实现必须是推送加语音合成,选择的推送是极光推送,本文最终实现的效果即使APP被杀死也可以进行语音播报...

  • iOS语音合成

    标签:ios语音合成 苹果公司在iOS7中推出了语音合成的技术,无需网络环境也可以实现语音合成。 iOS7语音合成...

  • 语音播报

    项目中用到了语音播报推送内容,发现iOS7以后系统支持语音播报.记下用以备用

  • 文本转语音

    语音合成技术是iOS7推出的,可以实现无网络语音功能,支持多种语音。1,导入AVFoundation.framew...

  • 同时使用百度asr和tts sdk时,无法唤醒

    App中同时使用了ASR iOS SDK和离线在线语音合成 iOS SDK,主要使用的功能:语音唤醒、语义识别、语...

  • iOS 系统语音播报

    将一段文字转化为iOS系统语音播放 VoiceManager.h VoiceManager.m

  • iOS 集成语音播报

    iOS7.0之后新添加了一些新的功能,里面就有系统自带的语音播报库, 需要 导入系统的AVFoundation 库...

  • iOS多个本地音频合并

    项目中需求收款后进行语音播报,IOS12之后使用了推送扩展方式,通过修改本地推送通知的sound来进行语音播报功能...

网友评论

  • 陈藩:在真机上运行的时候有声音么
    iOS_愛OS:恩,有的,亲测有效
  • 罗火火:回去试试 看着简单
  • 卟师:正好需要,谢谢哈,我能转载分享吗?我会标注上出处和作者的
    卟师:@iOS_愛OS :blush:
    iOS_愛OS:@卟师 可以哈,我这个也是整理的别人的东西,随便转发!

本文标题:iOS 语音合成,语音播报功能(系统)

本文链接:https://www.haomeiwen.com/subject/rcefettx.html