2017-05-30 17 views
1

フランス語のテキストを音声で呼び出します。iOS 10.3音声テキストはシミュレータでは動作しますが、デバイスでは動作しません

これは、iOS 9.3シミュレータ、iOS 9.3デバイス(iPad 3rd gen)、iOS 10.3シミュレータでは期待通りに動作します。 iOS 10.3デバイス(iPhone 6s)では動作しません(サイレント)。

デフォルトのフランス語音声がインストールされ、デバイスの設定に従って動作します。あなたの.hファイル 上

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]; 
} 
+0

デバイスがサイレントモードであるかどうかを確認してください。音量アップボタンでデバイスの音量も確認してください。 –

答えて

1

は、音声秒判明インセサイザーは、メディアボリュームではなく、リンガーボリュームによって制御されます。リンガーはテスターのデバイス上でミュートされました。

0

AVSpeechSynthesizer* synthesizer = NULL; を追加し、私はそれをテストしているgo--てもいいです..それは:)

があなたの.hファイルに移動し、

を追加スーパー正常に動作します
AVSpeechSynthesizer* synthesizer = NULL; 

との.m上の1

-(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]; 
} 
関連する問題