AVSpeech 语音播放(AVFoundation)

AVFoundation上实现语音播放暂停等等功能;
实现的demo 链接: https://github.com/helinyu/AKSpeech
基本上封装了一下内容,代码情况链接;
可以通过pod来进行管理下载:

AVSpeech 语音播放(AVFoundation)_第1张图片
封装的链接

基础知识可看:
http://www.jianshu.com/p/c55b94b467b8

1、model

AVSpeech 语音播放(AVFoundation)_第2张图片
model上的基本属性

model上设置一些默认的属性,这里的默认的语言是普通话,同时支持粤语;

AVSpeech 语音播放(AVFoundation)_第3张图片
支持的语言列表

看详细的讲解: https://tools.ietf.org/html/bcp47

mgr

AVSpeech 语音播放(AVFoundation)_第4张图片
播放之前语言的配置和检查
AVSpeech 语音播放(AVFoundation)_第5张图片
将delegate的方式转化为block的方式
typedef void(^AKSpeechTotalDelegateBlock)(AVSpeechSynthesizer *synthesizer, AVSpeechUtterance *utterance, NSRange characterRange, AKASpeechDelegateType type);

Summary:
1、有关语音的播放是在AVFaudio上的内容的AVSpeech这个类实现的;
2、主要讲里面的几个类,传递的属性,直接整合为一个model,不用过多的分类 ,外面使用是透明的,传入参数就可以了
3、对传入的参数进行必要的检查是否在合理的范围内
4、将delegate的方式转化为block的方式 ,这样一起整体调用,将有关的block的添加上一个type的属性进行判断是那个代理

参考链接:
http://www.jianshu.com/p/2fae9f26be8d

你可能感兴趣的:(AVSpeech 语音播放(AVFoundation))