您的位置:首页 > 移动开发 > IOS开发

iOS7 文本转语音 AVSpeechSynthesizer

2013-06-28 15:22 323 查看
/article/4820534.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 下载链接:http://files.cnblogs.com/qingjoin/AVideoSpeechDemo.zip
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: