文本转语音
2015-11-26 11:00
579 查看
转自:http://www.cnblogs.com/qingjoin/p/3160945.html
首先导入系统框架
导入头文件和代理
然后
avspeech支持的语言种类包括:
代码片:
首先导入系统框架
导入头文件和代理
#import <AVFoundation/AVSpeechSynthesis.h> <AVSpeechSynthesizerDelegate>
然后
AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc]initWithString:@"Hello World"]; //需要转换的文本 //设置语言类别(不能被识别,返回值为nil) AVSpeechSynthesisVoice *voiceType = [AVSpeechSynthesisVoice voiceWithLanguage:@"zh-CN"];//"zh-CN" 普通话 utterance.voice = voiceType; // 中文朗诵速度:0.1还能够接受 // 英文朗诵速度:0.3还可以 utterance.rate *= 0.1;//语速 AVSpeechSynthesizer *av = [[AVSpeechSynthesizer alloc]init]; [av speakUtterance:utterance];
avspeech支持的语言种类包括:
"[AVSpeechSynthesisVoice 0x978a0b0]Language: th-TH", "[AVSpeechSynthesisVoice 0x977a450]Language: pt-BR", "[AVSpeechSynthesisVoice 0x977a480]Language: sk-SK", "[AVSpeechSynthesisVoice 0x978ad50]Language: fr-CA", "[AVSpeechSynthesisVoice 0x978ada0]Language: ro-RO", "[AVSpeechSynthesisVoice 0x97823f0]Language: no-NO", "[AVSpeechSynthesisVoice 0x978e7b0]Language: fi-FI", "[AVSpeechSynthesisVoice 0x978af50]Language: pl-PL", "[AVSpeechSynthesisVoice 0x978afa0]Language: de-DE", "[AVSpeechSynthesisVoice 0x978e390] Language:nl-NL", "[AVSpeechSynthesisVoice 0x978b030]Language: id-ID", "[AVSpeechSynthesisVoice 0x978b080]Language: tr-TR", "[AVSpeechSynthesisVoice 0x978b0d0]Language: it-IT", "[AVSpeechSynthesisVoice 0x978b120]Language: pt-PT", "[AVSpeechSynthesisVoice 0x978b170]Language: fr-FR", "[AVSpeechSynthesisVoice 0x978b1c0]Language: ru-RU", "[AVSpeechSynthesisVoice0x978b210]Language: es-MX", "[AVSpeechSynthesisVoice 0x978b2d0]Language: zh-HK", "[AVSpeechSynthesisVoice 0x978b320]Language: sv-SE", "[AVSpeechSynthesisVoice 0x978b010]Language: hu-HU", "[AVSpeechSynthesisVoice 0x978b440]Language: zh-TW", "[AVSpeechSynthesisVoice 0x978b490]Language: es-ES", "[AVSpeechSynthesisVoice 0x978b4e0]Language: zh-CN", "[AVSpeechSynthesisVoice 0x978b530]Language: nl-BE", "[AVSpeechSynthesisVoice 0x978b580]Language: en-GB", "[AVSpeechSynthesisVoice 0x978b5d0]Language: ar-SA", "[AVSpeechSynthesisVoice 0x978b620]Language: ko-KR", "[AVSpeechSynthesisVoice 0x978b670]Language: cs-CZ", "[AVSpeechSynthesisVoice 0x978b6c0]Language: en-ZA", "[AVSpeechSynthesisVoice 0x978aed0]Language: en-AU", "[AVSpeechSynthesisVoice 0x978af20]Language: da-DK", "[AVSpeechSynthesisVoice 0x978b810]Language: en-US", "[AVSpeechSynthesisVoice 0x978b860]Language: en-IE", "[AVSpeechSynthesisVoice 0x978b8b0]Language: hi-IN", "[AVSpeechSynthesisVoice 0x978b900]Language: el-GR", "[AVSpeechSynthesisVoice 0x978b950]Language: ja-JP" )
代码片:
#import "ViewController.h" #import <AVFoundation/AVSpeechSynthesis.h> @interface ViewController ()<AVSpeechSynthesizerDelegate> { UITextView *textView; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; textView = [[UITextView alloc] initWithFrame:CGRectMake(50, 100, 250, 100)]; textView.layer.borderColor = [UIColor grayColor].CGColor; textView.layer.borderWidth = 1; textView.layer.cornerRadius = 6; textView.layer.masksToBounds = YES; [self.view addSubview:textView]; UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; button.frame = CGRectMake(100, 300, 100, 50); [button setTitle:@"转换" forState:UIControlStateNormal]; [button addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside]; button.layer.cornerRadius = 6; button.layer.masksToBounds = < a93e span class="hljs-literal">YES; [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; button.backgroundColor = [UIColor orangeColor]; [self.view addSubview:button]; } -(void)buttonClick { NSLog(@"文字 %@",textView.text); AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc]initWithString:textView.text]; //需要转换的文本 //设置语言类别(不能被识别,返回值为nil) AVSpeechSynthesisVoice *voiceType = [AVSpeechSynthesisVoice voiceWithLanguage:@"zh-CN"];//"zh-CN" 普通话 utterance.voice = voiceType; // 中文朗诵速度:0.1还能够接受 // 英文朗诵速度:0.3还可以 utterance.rate *= 0.1;//语速 AVSpeechSynthesizer *av = [[AVSpeechSynthesizer alloc]init]; [av speakUtterance:utterance]; } @end
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 用批处理实现读取文本文件并实现超链接代码的输出[原创]_DOS/BAT_脚本之家
- 文本最末列数值乘一个数的批处理实现
- 实现两个文本同行交替输出的批处理代码
- 随日期每天自动变换的文本的js特效
- 文本、Excel、Access数据导入SQL Server2000的方法
- C#实现语音视频录制-附demo源码
- jQuery设置和获取HTML、文本和值示例
- PHP 文本文章分页代码 按标记或长度(不涉及数据库)
- 基于文本的搜索
- 用文本作数据处理
- extjs表格文本启用选择复制功能具体实现
- jQuery往textarea中光标所在位置插入文本的方法
- jQuery取得设置清空select选择的文本与值