Sportica   Sportica

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

 

posted @ 2013-06-28 15:22  qingjoin  阅读(7885)  评论(4编辑  收藏  举报
  Sportica