非常感谢大家利用自己宝贵的时间来阅读我的文章 , 上一篇文章写了Epub的加密一个实现方式,《ios Epub加密及解密阅读的一种实现方式》,今天这篇文章主要说一下电子书的语音阅读,这个功能也基本上是阅读器的标配了。希望这篇文章能给你的开发过程带来一些帮助。喜欢的可以关注一下我的简书、我的博客
先看下效果图,声音没法展示,下载ZQReaderDemo运行看效果吧
关于电子书阅读这这块就不说了,还是在XDSReader的基础上修改,添加了语音阅读的功能
在网上查了些资料,IOS7.0之后系统添加了文字转语音的API,AVFoundation框架下的AVSpeechSynthesizer类,具体使用代码如下,也可参考ZQReaderDemo中的ZQAVSpeechTool
//初始化语音合成器
_avSpeaker = [[AVSpeechSynthesizer alloc] init];
_avSpeaker.delegate = self;
//初始化要说出的内容
AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc] initWithString:_paragraphs[_currentParagraphs]];
//设置语速,语速介于AVSpeechUtteranceMaximumSpeechRate和AVSpeechUtteranceMinimumSpeechRate之间
//AVSpeechUtteranceMaximumSpeechRate
//AVSpeechUtteranceMinimumSpeechRate
//AVSpeechUtteranceDefaultSpeechRate
utterance.rate = _rate;
//设置音高,[0.5 - 2] 默认 = 1
//AVSpeechUtteranceMaximumSpeechRate
//AVSpeechUtteranceMinimumSpeechRate
//AVSpeechUtteranceDefaultSpeechRate
utterance.pitchMultiplier = 1;
//设置音量,[0-1] 默认 = 1
utterance.volume = 1;
//读一段前的停顿时间
utterance.preUtteranceDelay = 0.5;
//读完一段后的停顿时间
utterance.postUtteranceDelay = 0;
//设置声音,是AVSpeechSynthesisVoice对象
//AVSpeechSynthesisVoice定义了一系列的声音, 主要是不同的语言和地