ios - 文字转语音不起作用?

标签 ios objective-c iphone text-to-speech

我在一个应用程序中同时进行语音到文本和文本到语音的转换,但是由于某种原因,在语音到转换结束并且结果从服务器返回后,文本到语音 [apple 的默认 API] 不会产生任何声音,即使它在应用程序启动时为静态文本重现相同的声音。

下面是文本到语音转换的代码。

-(void)makeTextTalk:(NSString *)phraseToSpeak{
[self stopTalkingAPI];
AVSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizer alloc]init];
AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc]initWithString:phraseToSpeak];
AVSpeechSynthesisVoice *voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-IN"];
utterance.voice = voice;
[synthesizer speakUtterance:utterance];
}

最佳答案

_audioSession = [AVAudioSession sharedInstance];
[_audioSession setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker error:nil];
[_audioSession setMode:AVAudioSessionModeDefault error:nil];

终于解决了。 如果 TTS 和 STT 持续工作, session 类别必须是 AVSessionCategoryPlayAndRecord,并且必须使用设置的选项参数调用该函数。

关于ios - 文字转语音不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49378318/

相关文章:

ios - 如何将用户加入已在 Quickblox 中创建的视频通话 session ?

iOS 7/Xcode 5 : Access device launch images programmatically

android - 如何在所有设备上渲染 ♦ (Unicode Black Diamond Suit)?

objective-c - 语法 : assign method's property value to sql command

ios - 寻找自定义 View 时崩溃

objective-c - 当值改变时对 NSLevelIndicator 进行动画处理

iphone - 由于获取的结果 Controller 更新,释放的 View Controller 导致 EXC_BAD_ACCESS

iphone - 从 Controller 调用 Controller

iphone - 比较 switch 语句中的 ALAssetGroupType

objective-c - 将 UIView 转换为 PDF 会更改图像颜色