如何在应用程序中使用iOS的内置文本语音function?

我正在build立一个帮助学生学习外语的应用程序。 我注意到,当我在设置的“辅助function”菜单中打开“说话select”function时,iPhone可以在Safari中阅读外语文本。 是否有可能以编程方式在手机上的内置文本到语音软件读取正在显示在UIView中的外部单词(NSString)?

我也尝试在我的应用程序中实现TTS,我试图用一些SDK来实现它,但我不能。 现在我正在使用GOOGLE TRANSLATE API [“ http://www.translate.google.com/translate_tts?tl=en&q=%@”,text “],它会隐藏您的文本并为您提供需要运行的audio文件这个audio文件存储在Document目录下[或者自定义],只要使用这个代码,希望它能帮上忙。

//Conversion using Google TTS API NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *path = [documentsDirectory stringByAppendingPathComponent:@"file.mp3"]; NSString *text = textToConvert.text; NSString *urlString = [NSString stringWithFormat:@"http://www.translate.google.com/translate_tts?tl=en&q=%@",text]; NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:url]; [request setValue:@"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1" forHTTPHeaderField:@"User-Agent"]; NSURLResponse* response = nil; NSError* error = nil; NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; [data writeToFile:path atomically:YES]; NSError *err; if ([[NSFileManager defaultManager] fileExistsAtPath:path]) { // player = [[AVAudioPlayer alloc] initWithContentsOfURL: // [NSURL fileURLWithPath:path] error:&err]; //// player.volume = 0.4f; // [player prepareToPlay]; //// [player setNumberOfLoops:0]; // [player play]; player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:&err]; // player.delegate = self; [player prepareToPlay]; [player play]; }