iOS 10.3文本到语音在模拟器上工作,但在设备上不工作

时间:2017-05-30 06:35:48

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

我正在为法语拨打电话。

这符合预期:iOS 9.3模拟器,iOS 9.3设备(iPad 3rd gen),iOS 10.3模拟器。 在iOS 10.3设备(iPhone 6s)无效(无声)。

默认法语语音已安装,可根据设备设置运行。

static AVSpeechSynthesizer* synthesizer = NULL;
//...
+(void)readText:(NSString*)text
{
    if(synthesizer == NULL)
      synthesizer = [[AVSpeechSynthesizer alloc] init];
    AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:text];
    utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"fr-FR"];
    [synthesizer speakUtterance:utterance];
}

2 个答案:

答案 0 :(得分:3)

结果语音合成器由铃声音量控制,而不是媒体音量。铃声在测试仪的设备上静音。

答案 1 :(得分:0)

你的.h文件上的

添加AVSpeechSynthesizer* synthesizer = NULL;  你很高兴 - 我已经测试过了......它的工作非常精细:)

转到.h文件并添加

AVSpeechSynthesizer* synthesizer = NULL;

和.m一个

-(void)readText:(NSString*)text
{
    if(synthesizer == NULL)
      synthesizer = [[AVSpeechSynthesizer alloc] init];
    AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:text];
    utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"fr-FR"];
    [synthesizer speakUtterance:utterance];
}