2015-09-29 15 views
6

Problema: in iOS 7.xe iOS 8.x questo codice funziona correttamente, ma in iOS 9.x la velocità della voce è più lenta rispetto alla velocità della voce in iOS 7 & 8.Frequenza di enunciazione AVSpeechSynthesizer variabile in iOS7 e iOS 9

self.synthesizer = [[AVSpeechSynthesizer alloc] init]; 

self.synthesizer.delegate = self; 

AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc] initWithString:[NSString stringWithFormat:@"Hey %@, please choose places to explore or select excursions to see our custom crafted deals",[defaults objectForKey:@"USERNAME"]]]; 

utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-US"]; 

utterance.rate = 0.10; 

[self.synthesizer speakUtterance:utterance]; 
+0

Eventuali duplicati di [iOS9 tasso AVSpeechUtterance per il rilascio AVSpeechSynthesizer] (http://stackoverflow.com/questions/32761786/ios9-avspeechutterance-rate-for -avspeechsynthesizer-issue) – Gregarious

risposta

3

[utterance setRate: 0.5f]; farà il lavoro

+0

[valore di registrazione: 0,5f]; Questo sicuramente aumenterà il tasso di espressione .. ma ora su iOS 7 e iOS 8 diventerà troppo veloce – Himz

+0

'if ([[UIDevice currentDevice] systemVersion] floatValue]> 8.5) { [setRate di utterance: 0.5f]; } else { [valore di registrazione: 0.1f]; } ' – Kaisp

+0

Sì, questo è qualcosa che stiamo facendo, ma perché è così? Perché il tasso di espressione è variabile – Himz