iOS自带的文字转语音是iOS7以后才有的,需要AVFoundation 库。
AVSpeechSynthesizer: 语音合成器, 可以假想成一个可以说话的人, 是最主要的接口
AVSpeechSynthesisVoice: 可以假想成人的声音
AVSpeechUtterance: 可以假想成要说的一段话
语言种类 : Language
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 印度(印度文)
NSString *language = @"en-US"; AVSpeechSynthesizer *speechSynthesizer = [[AVSpeechSynthesizer alloc]init]; AVSpeechSynthesisVoice *voice = [AVSpeechSynthesisVoice voiceWithLanguage:language]; AVSpeechUtterance *utterance =[AVSpeechUtterance speechUtteranceWithString:text]; //要读的文字 utterance.voice = voice; utterance.rate = 0.5;//语速0~1 utterance.pitchMultiplier = 0.5;//声调0.5~2 utterance.volume =1.0; [speechSynthesizer speakUtterance:utterance];
还有代理提供的一些方法。
@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; - (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didContinueSpeechUtterance:(AVSpeechUtterance *)utterance; - (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didCancelSpeechUtterance:(AVSpeechUtterance *)utterance; - (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer willSpeakRangeOfSpeechString:(NSRange)characterRange utterance:(AVSpeechUtterance *)utterance; @end
iOS 文本转语音比较简单,值得注意的一点是如果想要单独读一串英文字母比如dunnage,需要在每个字母之间加字符来分开,“_”会隔开字母而且不会读出来,“,”会有明显的停顿,但是在开头加字符会被读出来。一些字母可能会被识别成单词,比如qa,不会读q a ,这时只要转换成大写字母QA即可。
相关推荐
IOS 自带文字转语音,代码简单整理,直接可用,可随意修改
此插件允许您在Windows、Windows VR、移动Android和iOS上使用本地离线文本转换语音(TTS),它支持英语、西班牙语等utf8语言。。。以及utf16语言,如中文、日语、俄语。。。 您可以设置语音速度、设置语音语言和设置...
iOS 文字转语音+简单音乐播放
Unity文字转语音插件,可以将文本朗读出来,可设置朗读的语言,朗读语速,在开发环境Unity2019.2.f1,在mac和win,ios,android设备上运行成功。
文字转语音 轻巧的文本转语音插件(Swift,Java) 产品特点 Android,iOS,Web和macOS 说话 停 获取语言 设定语言 设定语速 设定语音音量 设定语音音调 语言可用吗 Android,iOS 发出声音 设定声音...
安卓和ios的文字转语音插件,亲测unity2019可用,必须打包后使用,在unity中用不了,里面有demo打包后可以直接使用
React Native TTS是用于iOS,Android和Windows上的的文本到语音库。 文献资料 安装 npm install --save react-native-tts react-native link react-native-tts 用法 进口货 import Tts from 'react-native-tts' ; ...
React母语一个很棒的用于TTS(文本到语音)库。目录安装使用npm: npm install --save react-native-speak 或使用纱线: yarn add react-native-speak连结中自动的react-native link react-native-speak 对于使用pod...
与语音听写相反,语音合成是将一段文字转换为成语音,可根据需要合成出不同音色、语速和语调的声音,让机器像人一样开口说话。 合成详细的接口介绍及说明请参考: MSC Linux API 文档 ,在集成过程中如有疑问,可...
PhoneGap 文字转语音插件 平台 iOS 7+ Android 4.0.3+(API 级别 15+) 待定
适用于Xamarin和Windows的文本转语音插件 在Xamarin.iOS,Xamarin.tvOS,Xamarin.macOS Xamarin.Android,Windows和Xamarin.Forms项目中执行文本到语音的简单而优雅的方法。 预览: : 设置 在NuGet上可用: : ...
TTS-文字转语音支持 解析epub封面图片 RTL支持 垂直或/和水平滚动 分享自定义图片行情NEW 同时支持多个实例,例如并行读取NEW 书籍搜寻 将注释添加到突出显示 谁在使用它? 在您可以看到在生产环境中使用它...
b/s模式与移动客户端同时并存 b/s模式:以3G网站形式把数字报刊以wap网站形式呈现在用户手机上,用户只要在浏览器上输入网址即可浏览报刊的手机版形式,文字,图片,...文章内容实现TTS语音读报(目前仅支持增强版)。