AVFoundation上實現語音播放暫停等等功能;
實現的demo 鏈接: https://github.com/helinyu/AKSpeech
基本上封裝了一下內容,代碼情況鏈接;
可以通過pod來進行管理下載:
封裝的鏈接
基礎知識可看:
http://www.lxweimin.com/p/c55b94b467b8
1、model
model上的基本屬性
model上設置一些默認的屬性,這里的默認的語言是普通話,同時支持粵語;
支持的語言列表
看詳細的講解:https://tools.ietf.org/html/bcp47
mgr
播放之前語言的配置和檢查
將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的屬性進行判斷是那個代理