Ios 文本到语音转换不工作?
我在一个应用程序中同时进行语音到文本和文本到语音的转换,但由于某种原因,在语音转换结束并且结果从服务器返回后,文本到语音[苹果的默认API]不会产生任何声音,即使它在应用程序开始时为静态文本复制相同的声音 下面是文本到语音转换的代码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]
-(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的音频会话应该分开吗?创建分开的。仍然没有音频。检查您的设备是否处于静默模式?