NSSpeechSynthesier

  1. AVSpeechSynthesizer

功能

將文字添加到語音, 就是用語音播放一段文字
屬性

delegate : 代理, 主要是對語音播放狀態(tài)的監(jiān)聽
@protocol AVSpeechSynthesizerDelegate <NSObject>
// 代理方法
@optional
// 開始播放 語音單元

  • (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didStartSpeechUtterance:(AVSpeechUtterance *)utterance;
    // 完成播放 語音單元
  • (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didFinishSpeechUtterance:(AVSpeechUtterance *)utterance;
    // 暫停播放 語音單元
  • (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didPauseSpeechUtterance:(AVSpeechUtterance *)utterance;
    // 繼續(xù)播放 語音單元
  • (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didContinueSpeechUtterance:(AVSpeechUtterance *)utterance;
    // 取消播放 語音單元
  • (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didCancelSpeechUtterance:(AVSpeechUtterance *)utterance;
    // 這里 指的是 又來監(jiān)聽 播放 字符范圍
  • (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer willSpeakRangeOfSpeechString:(NSRange)characterRange utterance:(AVSpeechUtterance *)utterance;
    @end
    speaking: 只讀屬性, 用來判斷當(dāng)前是否處于播放狀態(tài)
    paused: 只讀屬性, 用來判斷當(dāng)前是否處于暫停狀態(tài)
    方法

// 添加 播放話語 到 播放語音 隊(duì)列, 可以設(shè)置utterance的屬性來控制播放

  • (void)speakUtterance:(AVSpeechUtterance *)utterance;

// 對于 stopSpeakingAtBoundary: 語音單元的操作, 如果中斷, 會清空隊(duì)列
// 中斷

  • (BOOL)stopSpeakingAtBoundary:(AVSpeechBoundary)boundary;
    // 暫停
  • (BOOL)pauseSpeakingAtBoundary:(AVSpeechBoundary)boundary;
    // 繼續(xù)
  • (BOOL)continueSpeaking;
  1. AVSpeechUtterance

功能

被播放的語音文字, 可以理解為一段需要播放的文字
屬性

// 設(shè)置使用哪一個國家的語言播放
@property(nonatomic, retain, nullable) AVSpeechSynthesisVoice *voice;
// 獲取當(dāng)前需要播放的文字, 只讀屬性
@property(nonatomic, readonly) NSString *speechString;
// 獲取當(dāng)前需要播放的文字 - 富文本, 只讀屬性, iOS10以后可用
@property(nonatomic, readonly) NSAttributedString *attributedSpeechString;
// 本段文字播放時的 語速, 應(yīng)介于AVSpeechUtteranceMinimumSpeechRate 和 AVSpeechUtteranceMaximumSpeechRate 之間
@property(nonatomic) float rate;
// 在播放特定語句時改變聲音的聲調(diào), 一般取值介于0.5(底音調(diào))~2.0(高音調(diào))之間
@property(nonatomic) float pitchMultiplier;
// 聲音大小, 0.0 ~ 1.0 之間
@property(nonatomic) float volume;
// 播放后的延遲, 就是本次文字播放完之后的停頓時間, 默認(rèn)是0
@property(nonatomic) NSTimeInterval preUtteranceDelay;
// 播放前的延遲, 就是本次文字播放前停頓的時間, 然后播放本段文字, 默認(rèn)是0
@property(nonatomic) NSTimeInterval postUtteranceDelay;
方法

// 一下全部都是初始化方法, 分為 類方法 和 對象方法, 富文本的初始化方法要在iOS10以后才可以用

  • (instancetype)speechUtteranceWithString:(NSString *)string;
  • (instancetype)speechUtteranceWithAttributedString:(NSAttributedString *)string NS_AVAILABLE_IOS(10_0);
  • (instancetype)initWithString:(NSString *)string;
  • (instancetype)initWithAttributedString:(NSAttributedString *)string
    最后是國家語言列表

可以使用 [AVSpeechSynthesisVoice speechVoices] 打印出支持的所有國家語言
ar-SA 沙特阿拉伯(阿拉伯文)

en-ZA, 南非(英文)

nl-BE, 比利時(荷蘭文)

en-AU, 澳大利亞(英文)

th-TH, 泰國(泰文)

de-DE, 德國(德文)

en-US, 美國(英文)

pt-BR, 巴西(葡萄牙文)

pl-PL, 波蘭(波蘭文)

en-IE, 愛爾蘭(英文)

el-GR, 希臘(希臘文)

id-ID, 印度尼西亞(印度尼西亞文)

sv-SE, 瑞典(瑞典文)

tr-TR, 土耳其(土耳其文)

pt-PT, 葡萄牙(葡萄牙文)

ja-JP, 日本(日文)

ko-KR, 南朝鮮(朝鮮文)

hu-HU, 匈牙利(匈牙利文)

cs-CZ, 捷克共和國(捷克文)

da-DK, 丹麥(丹麥文)

es-MX, 墨西哥(西班牙文)

fr-CA, 加拿大(法文)

nl-NL, 荷蘭(荷蘭文)

fi-FI, 芬蘭(芬蘭文)

es-ES, 西班牙(西班牙文)

it-IT, 意大利(意大利文)

he-IL, 以色列(希伯萊文挣磨,阿拉伯文)

no-NO, 挪威(挪威文)

ro-RO, 羅馬尼亞(羅馬尼亞文)

zh-HK, 香港(中文)

zh-TW, 臺灣(中文)

sk-SK, 斯洛伐克(斯洛伐克文)

zh-CN, 中國(中文)

ru-RU, 俄羅斯(俄文)

en-GB, 英國(英文)

fr-FR, 法國(法文)

hi-IN 印度(印度文)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市住涉,隨后出現(xiàn)的幾起案子症见,更是在濱河造成了極大的恐慌桂躏,老刑警劉巖坛吁,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件藻茂,死亡現(xiàn)場離奇詭異,居然都是意外死亡裳食,警方通過查閱死者的電腦和手機(jī)矛市,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來诲祸,“玉大人浊吏,你說我怎么就攤上這事而昨。” “怎么了找田?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵歌憨,是天一觀的道長。 經(jīng)常有香客問我午阵,道長躺孝,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任底桂,我火速辦了婚禮植袍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘籽懦。我一直安慰自己于个,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布暮顺。 她就那樣靜靜地躺著厅篓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪捶码。 梳的紋絲不亂的頭發(fā)上羽氮,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天,我揣著相機(jī)與錄音惫恼,去河邊找鬼档押。 笑死,一個胖子當(dāng)著我的面吹牛祈纯,可吹牛的內(nèi)容都是我干的令宿。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼腕窥,長吁一口氣:“原來是場噩夢啊……” “哼粒没!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起簇爆,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤癞松,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后入蛆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體响蓉,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年安寺,在試婚紗的時候發(fā)現(xiàn)自己被綠了厕妖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片首尼。...
    茶點(diǎn)故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡挑庶,死狀恐怖言秸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情迎捺,我是刑警寧澤举畸,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站凳枝,受9級特大地震影響抄沮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜岖瑰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一叛买、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蹋订,春花似錦率挣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至智什,卻和暖如春动漾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背荠锭。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工旱眯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人节沦。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓键思,卻偏偏與公主長得像,于是被迫代替她去往敵國和親甫贯。 傳聞我的和親對象是個殘疾皇子吼鳞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容