Ios 文本到语音转换不工作?

Ios 文本到语音转换不工作?,ios,objective-c,iphone,text-to-speech,Ios,Objective C,Iphone,Text To Speech,我在一个应用程序中同时进行语音到文本和文本到语音的转换,但由于某种原因,在语音转换结束并且结果从服务器返回后,文本到语音[苹果的默认API]不会产生任何声音,即使它在应用程序开始时为静态文本复制相同的声音 下面是文本到语音转换的代码 -(void)makeTextTalk:(NSString *)phraseToSpeak{ [self stopTalkingAPI]; AVSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizer alloc]

我在一个应用程序中同时进行语音到文本和文本到语音的转换,但由于某种原因,在语音转换结束并且结果从服务器返回后,文本到语音[苹果的默认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];
}

一旦语音转换为文本的过程完成,您需要将AVAudioSessionMode更改为默认值。使用以下命令进行更改:

   AVAudioSession *audioSession = [AVAudioSession sharedInstance];
   [audioSession setCategory:AVAudioSessionCategoryPlayback];
   [audioSession setMode:AVAudioSessionModeDefault error:nil];

一旦语音转换为文本的过程完成,您需要将AVAudioSessionMode更改为默认值。使用以下命令进行更改:

   AVAudioSession *audioSession = [AVAudioSession sharedInstance];
   [audioSession setCategory:AVAudioSessionCategoryPlayback];
   [audioSession setMode:AVAudioSessionModeDefault error:nil];
最后,这个问题解决了。 如果TTS和STT持续工作,会话类别必须为AVSessionCategoryPlay和Record,并且必须使用set options参数调用该函数

最后,这个问题解决了。
如果TTS和STT持续工作,会话类别必须是AVSessionCategoryPlay和Record,并且必须使用set options参数调用该函数。

检查可能是u缺少某些内容。我在头文件中声明了audiosession,并将其设置为两者。STT和TTS的音频会话应该分开吗?创建分开的。仍然没有音频。检查您的设备是否处于静默模式?检查可能是您缺少什么。我在头文件中声明了audiosession,并将其设置为两者。STT和TTS的音频会话应该分开吗?创建分开的。仍然没有音频。检查您的设备是否处于静默模式?