你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS自帶文本轉語音技術(TTS)的實現即語音播報的實踐

iOS自帶文本轉語音技術(TTS)的實現即語音播報的實踐

編輯:IOS開發綜合

文本轉語音技術, 也叫TTS, 是Text To Speech的縮寫. iOS如果想做有聲書等功能的時候, 會用到這門技術.

一,使用iOS自帶TTS需要注意的幾點:

1.iOS7之後才有該功能

2.需要 AVFoundation 庫

3.AVSpeechSynthesizer: 語音合成器, 可以假想成一個可以說話的人, 是最主要的接口

4.AVSpeechSynthesisVoice: 可以假想成人的聲音

5.AVSpeechUtterance: 可以假想成要說的一段話

二,代碼示例, 播放語音

//語音播報
AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:@"床前明月光,疑是地上霜。"];
utterance.pitchMultiplier=0.8;
//中式發音
AVSpeechSynthesisVoice *voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"zh-CN"];
//英式發音
// AVSpeechSynthesisVoice *voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-GB"];
utterance.voice = voice;
NSLog(@"%@",[AVSpeechSynthesisVoice speechVoices]);
AVSpeechSynthesizer *synth = [[AVSpeechSynthesizer alloc]init];
[synth speakUtterance:utterance];

三,AVSpeechSynthesizer介紹

這個類就像一個會說話的人, 可以”說話”, 可以”暫停”說話, 可以”繼續”說話, 可以判斷他當前是否正在說話.有以下的方法或者屬性:
•說話: speakUtterance

•控制: continueSpeaking(繼續說), pauseSpeakingAtBoundary(暫停說話), paused(暫停狀態的屬性), speaking(說話的狀態), stopSpeakingAtBoundary(停止說話)

•委托: delegate

四,AVSpeechBoundary介紹

這是一個枚舉. 在暫停, 或者停止說話的時候, 停下的方式用這個枚舉標示. 包括兩種:

•AVSpeechBoundaryImmediate: 立即停

•AVSpeechBoundaryWord : 說完一個整詞再停

五,AVSpeechSynthesizerDelegate介紹

合成器的委托, 對於一些事件, 提供了響應的接口.

•didCancelSpeechUtterance: 已經取消說話

•didContinueSpeechUtterance: 已經繼續說話

•didFinishSpeechUtterance: 已經說完

•didPauseSpeechUtterance: 已經暫停

•didStartSpeechUtterance:已經開始

•willSpeakRangeOfSpeechString:將要說某段話

六,AVSpeechSynthesisVoice介紹

AVSpeechSynthesisVoice定義了一系列的聲音, 主要是不同的語言和地區.

•voiceWithLanguage: 根據制定的語言, 獲得一個聲音.

•speechVoices: 獲得當前設備支持的聲音

•currentLanguageCode: 獲得當前聲音的語言字符串, 比如”ZH-cn”

•language: 獲得當前的語言

七,AVSpeechUtterance介紹

這個類就是一段要說的話. 主要的屬性和方法有:

•pitchMultiplier: 音高

•postUtteranceDelay: 讀完一段後的停頓時間

•preUtteranceDelay: 讀一段話之前的停頓

•rate: 讀地速度, 系統提供了三個速度: AVSpeechUtteranceMinimumSpeechRate, AVSpeechUtteranceMaximumSpeechRate,

AVSpeechUtteranceDefaultSpeechRate

•speechString: 要讀的字符串

•voice: 使用的聲音, 是AVSpeechSynthesisVoice對象

•volume: 音量

八,UML關系圖

這些類的關系如下:

以上所述是小編給大家介紹的iOS自帶文本轉語音技術(TTS)的實現即語音播報的實踐,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對本站網站的支持!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved