-
文字閱讀例子
AVSpeechSynthesizer * synthesizer = [[AVSpeechSynthesizer alloc] init];//語(yǔ)音合成器 AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc] initWithString:@"string1"];//說(shuō)話 utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-US"];//發(fā)音 utterance.rate = 0.5f;//速率 utterance.pitchMultiplier = 0.8f;//音調(diào) utterance.postUtteranceDelay = 0.1f;//延遲 [synthesizer speakUtterance:utterance];//添加到語(yǔ)音合成器呻纹,不會(huì)等待,程序繼續(xù)執(zhí)行 此時(shí)語(yǔ)音開(kāi)始合成 AVSpeechUtterance *utterance2 = [[AVSpeechUtterance alloc] initWithString:@"string2"]; utterance2.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-GB"]; utterance2.rate = 0.5f; utterance2.pitchMultiplier = 0.8f; utterance2.postUtteranceDelay = 0.1f; [synthesizer speakUtterance:utterance2];//此時(shí)會(huì)等第一句結(jié)束后才會(huì)播放這句。程序不會(huì)阻塞。
-
發(fā)音(AVSpeechSynthesisVoice)
@interface AVSpeechSynthesisVoice : NSObject<NSSecureCoding> + (NSArray<AVSpeechSynthesisVoice *> *)speechVoices;//系統(tǒng)支持的列表 + (NSString *)currentLanguageCode;//系統(tǒng)當(dāng)前語(yǔ)言代碼 + (nullable AVSpeechSynthesisVoice *)voiceWithLanguage:(nullable NSString *)languageCode;//通過(guò)語(yǔ)言代碼創(chuàng)建實(shí)例 使用BCP-47語(yǔ)言標(biāo)記 + (nullable AVSpeechSynthesisVoice *)voiceWithIdentifier:(NSString *)identifier NS_AVAILABLE_IOS(9_0);//通過(guò)identifier創(chuàng)建實(shí)例 @property(nonatomic, readonly) NSString *language;//語(yǔ)言 @property(nonatomic, readonly) NSString *identifier NS_AVAILABLE_IOS(9_0); @property(nonatomic, readonly) NSString *name NS_AVAILABLE_IOS(9_0); @property(nonatomic, readonly) AVSpeechSynthesisVoiceQuality quality NS_AVAILABLE_IOS(9_0); @end
-
語(yǔ)句(AVSpeechUtterance)
@interface AVSpeechUtterance : NSObject<NSCopying, NSSecureCoding>//語(yǔ)句 + (instancetype)speechUtteranceWithString:(NSString *)string; + (instancetype)speechUtteranceWithAttributedString:(NSAttributedString *)string API_AVAILABLE(ios(10.0), watchos(3.0), tvos(10.0)); - (instancetype)initWithString:(NSString *)string; - (instancetype)initWithAttributedString:(NSAttributedString *)string API_AVAILABLE(ios(10.0), watchos(3.0), tvos(10.0)); @property(nonatomic, retain, nullable) AVSpeechSynthesisVoice *voice;//發(fā)音 @property(nonatomic, readonly) NSString *speechString;//閱讀的文字 @property(nonatomic, readonly) NSAttributedString *attributedSpeechString API_AVAILABLE(ios(10.0), watchos(3.0), tvos(10.0));//閱讀的屬性字符串 @property(nonatomic) float rate; // 速率 AVSpeechUtteranceMinimumSpeechRate and AVSpeechUtteranceMaximumSpeechRate. @property(nonatomic) float pitchMultiplier; // [0.5 - 2] Default = 1 音高 @property(nonatomic) float volume; // [0-1] Default = 1 音量 @property(nonatomic) NSTimeInterval preUtteranceDelay; // Default is 0.0 提前等待 @property(nonatomic) NSTimeInterval postUtteranceDelay; // Default is 0.0 之后等待 @end
-
語(yǔ)音合成器(AVSpeechSynthesizer)
@interface AVSpeechSynthesizer : NSObject @property(nonatomic, weak, nullable) id<AVSpeechSynthesizerDelegate> delegate; @property(nonatomic, readonly, getter=isSpeaking) BOOL speaking;//狀態(tài) 是否在閱讀 @property(nonatomic, readonly, getter=isPaused) BOOL paused;//狀態(tài) 是否暫停 - (void)speakUtterance:(AVSpeechUtterance *)utterance; //utterance默認(rèn)進(jìn)入隊(duì)列。加入同一個(gè)在隊(duì)里的utterace會(huì)異常 - (BOOL)stopSpeakingAtBoundary:(AVSpeechBoundary)boundary;//停止并清空閱讀隊(duì)列厌蔽。YES成功 - (BOOL)pauseSpeakingAtBoundary:(AVSpeechBoundary)boundary;//暫停閱讀。AVSpeechBoundaryImmediate 立即停止,AVSpeechBoundaryWord 按單詞停止(把最后一個(gè)詞讀完) - (BOOL)continueSpeaking;//繼續(xù) @property(nonatomic, retain, nullable) NSArray<AVAudioSessionChannelDescription *> *outputChannels API_AVAILABLE(ios(10.0), watchos(3.0), tvos(10.0));//指定輸出頻道 用于精確調(diào)整比如外放或是耳機(jī)桥温。默認(rèn)nil系統(tǒng)處理 @end
-
代理(AVSpeechSynthesizerDelegate)
@protocol AVSpeechSynthesizerDelegate <NSObject> @optional - (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didStartSpeechUtterance:(AVSpeechUtterance *)utterance;//已經(jīng)開(kāi)始 - (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didFinishSpeechUtterance:(AVSpeechUtterance *)utterance;//已經(jīng)完成 - (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didPauseSpeechUtterance:(AVSpeechUtterance *)utterance;//已經(jīng)停止 - (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didContinueSpeechUtterance:(AVSpeechUtterance *)utterance;//已經(jīng)繼續(xù) - (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didCancelSpeechUtterance:(AVSpeechUtterance *)utterance;//已經(jīng)取消 - (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer willSpeakRangeOfSpeechString:(NSRange)characterRange utterance:(AVSpeechUtterance *)utterance;//將要開(kāi)始讀某一段文字 @end
總結(jié)下來(lái)能夠?qū)崿F(xiàn),完整句子的閱讀梁丘。能夠?yàn)槊恳痪鋯为?dú)指定速度侵浸、音調(diào)、音量氛谜、音高掏觉、發(fā)音、前后等待或延遲時(shí)間值漫“母梗可以按照單詞停止或是立即停止。將要讀取某一段(無(wú)法指定大醒詈巍)或是已經(jīng)開(kāi)始或是已經(jīng)完成酱塔,或是已經(jīng)停止已經(jīng)繼續(xù)或是已經(jīng)取消都會(huì)有回調(diào)方法。無(wú)法導(dǎo)出音頻文件危虱。
iOS 語(yǔ)音合成
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門(mén)挺智,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)祷愉,“玉大人,你說(shuō)我怎么就攤上這事赦颇《” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵媒怯,是天一觀的道長(zhǎng)订讼。 經(jīng)常有香客問(wèn)我,道長(zhǎng)扇苞,這世上最難降的妖魔是什么欺殿? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮鳖敷,結(jié)果婚禮上脖苏,老公的妹妹穿的比我還像新娘。我一直安慰自己定踱,他們只是感情好棍潘,可當(dāng)我...
- 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著崖媚,像睡著了一般亦歉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上畅哑,一...
- 那天肴楷,我揣著相機(jī)與錄音,去河邊找鬼敢课。 笑死阶祭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的直秆。 我是一名探鬼主播,決...
- 文/蒼蘭香墨 我猛地睜開(kāi)眼鞭盟,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼圾结!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起齿诉,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤筝野,失蹤者是張志新(化名)和其女友劉穎晌姚,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體歇竟,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡挥唠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了焕议。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宝磨。...
- 正文 年R本政府宣布窿祥,位于F島的核電站,受9級(jí)特大地震影響蝙寨,放射性物質(zhì)發(fā)生泄漏晒衩。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一墙歪、第九天 我趴在偏房一處隱蔽的房頂上張望浸遗。 院中可真熱鬧,春花似錦箱亿、人聲如沸跛锌。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)髓帽。三九已至,卻和暖如春脑豹,著一層夾襖步出監(jiān)牢的瞬間郑藏,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓俱饿,卻偏偏與公主長(zhǎng)得像歌粥,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拍埠,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 一失驶、簡(jiǎn)介 <<UITableView(或簡(jiǎn)單地說(shuō),表視圖)的一個(gè)實(shí)例是用于顯示和編輯分層列出的信息的一種手段 <<...
- 前言 最先接觸編程的知識(shí)是在大學(xué)里面擦耀,大學(xué)里面學(xué)了一些基礎(chǔ)的知識(shí),c語(yǔ)言涩堤,java語(yǔ)言眷蜓,單片機(jī)的匯編語(yǔ)言等;大學(xué)畢...
- 非常感謝大家利用自己寶貴的時(shí)間來(lái)閱讀我的文章 , 上一篇文章寫(xiě)了Epub的加密一個(gè)實(shí)現(xiàn)方式胎围,《ios Epub加密...
- 一吁系、音頻相關(guān)的iOS類庫(kù) 1、音頻相關(guān)的iOS類庫(kù) 使用AVAudioSession負(fù)責(zé)調(diào)解APP和iOS系統(tǒng)里面...
- 音頻 主要的音頻播放類是AudioToolbox.framework和AVFoundation.framework...