iOS7 文本转语音 AVSpeechSynthesizer
http://www.cnblogs.com/qingjoin/p/3160945.html
iOS7 的这个功能确实不错。我刚试了下,用官方提供的API ,简单的几句代码就能实现文本转语音!
Xcode 5.0
工程建好后首先把AVFoundation.framework 加入到工程
AVSpeechSynthesizer *av = [[AVSpeechSynthesizer alloc]init]; AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc]initWithString:@"Hello qingjoin"]; //需要转换的文本 [av speakUtterance:utterance]; //以上三行代码就可以搞定文本转语音 有API就是省事。哈哈
/*******************************************************/ //具体可参考以下demo 记得.h文件里别忘记了这个哦 #import <AVFoundation/AVSpeechSynthesis.h> // // ViewController.m // AVideoSpeechDemo // // Created by qingyun on 6/28/13. // Copyright (c) 2013 qingyun. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; _textS.delegate = self; // Do any additional setup after loading the view, typically from a nib. } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (IBAction)textToSpeechBtnPress:(id)sender { AVSpeechSynthesizer *av = [[AVSpeechSynthesizer alloc]init]; AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc]initWithString:_textS.text]; //需要转换的文本 [av speakUtterance:utterance]; } -(BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; } @end
2013-06-28 14:54:07.817 AVideoSpeechDemo[5468:60b] Enqueue: <AXSpeechAction: 0x166d9820> hello :Pitch 1.000000 : Language: (null)
2013-06-28 14:54:22.791 AVideoSpeechDemo[5468:60b] Enqueue: <AXSpeechAction: 0x166f94f0> hello, qingjoin :Pitch 1.000000 : Language: (null)
2013-06-28 15:06:42.424 AVideoSpeechDemo[5468:60b] Enqueue: <AXSpeechAction: 0x166f3af0> 你好,我是qingjoin ! hello :Pitch 1.000000 : Language: (null)
demo 下载链接:https://files.cnblogs.com/qingjoin/AVideoSpeechDemo.zip