星空网 > 软件开发 > 操作系统

iOS开发日记50

今天博主有一个文本转语音(TTS)的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步.

文本转语音技术, 也叫TTS, 是Text To Speech的缩写. iOS如果想做有声书等功能的时候, 会用到这门技术.

iOS7之后才有该功能,需要导入 AVFoundation 库

 

//在iPhone静音模式开启后,声音无法播放,需要打开后台播放

AVAudioSession *audioSession = [AVAudioSession sharedInstance];

[audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];

//语音合成器, 是最主要的接口

AVSpeechSynthesizer *av = [[AVSpeechSynthesizer alloc]init];

//要说的一段话,语音合成器的播放内容接口

AVSpeechUtterance *utterance1 = [[AVSpeechUtterance alloc]initWithString:[NSString stringWithFormat:@"%@",@"实时"]]; //需要转换的文本

//读完一段后的停顿时间

utterance1.postUtteranceDelay=0.1;

//说话的速率

utterance1.rate=0.4;

//开始播放内容

[av speakUtterance:utterance1];

 

AVSpeechSynthesisVoice定义了一系列的声音, 主要是不同的语言和地区.下面是他的几个属性和方法

voiceWithLanguage: 根据制定的语言, 获得一个声音.
speechVoices: 获得当前设备支持的声音
currentLanguageCode: 获得当前声音的语言字符串, 比如”ZH-cn”
language: 获得当前的语言

 

上面是一段简单的TTS播放,如果想要进行更复杂的操作,可以遵守AVSpeechSynthesizerDelegate协议,实现其方法

合成器的委托, 对于一些事件, 提供了响应的接口.

didCancelSpeechUtterance: 已经取消说话
didContinueSpeechUtterance: 已经继续说话
didFinishSpeechUtterance: 已经说完
didPauseSpeechUtterance: 已经暂停
didStartSpeechUtterance:已经开始
willSpeakRangeOfSpeechString:将要说某段话




原标题:iOS开发日记50

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

东南亚shopee、Lazada怎么提升店铺流量? :https://www.goluckyvip.com/news/10042.html
南航物流国际货站启用;TikTok Shop全托管模式上线 :https://www.goluckyvip.com/news/10043.html
跨境物流中特殊货物的运输费用有哪些? :https://www.goluckyvip.com/news/10044.html
货物入海外仓时忽略一件事,尾程一件代发成本飞涨 :https://www.goluckyvip.com/news/10045.html
做TikTok小店定价要怎么定:https://www.goluckyvip.com/news/10046.html
TikTok热度超5亿,“紫砂壶”持续火爆,单个视频千万播放:https://www.goluckyvip.com/news/10047.html
怪物在游轮上复活的电影 怪物在游轮上复活的电影叫什么:https://www.vstour.cn/a/411230.html
在线旅游如何选择更优惠的旅游产品?:https://www.vstour.cn/a/411231.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流