La velocità di AVSpeechUtterance non funziona allo stesso modo per iOS 9 e versioni precedenti del sistema operativo. Qual è il cambiamento che devo fare in modo che la frase venga pronunciata alla stessa velocità. Ci sono altri cambiamenti che devo fare per iOS9? Sembra che la moltiplicazione di AVSpeechUtterance.rate di 6.0 funzioni correttamente. Grazie!iOS9 AVSpeechCorso di frequenza per il problema di AVSpeechSynthesizer
risposta
Vedo anche la modifica dopo la compilazione con il nuovo XCode. Di seguito sono riportate le mie mappature dalla vecchia alla nuova velocità. Ora ho diverse assegnazioni di velocità se il dispositivo è < = iOS8 o> = iOS9.
iOS 8 iOS 9
Very Slow 0 0.42
Slower 0.06 0.5
My Normal 0.15 0.53
Faster 0.23 0.56
sembra essere giusto. hai controllato anche iOS7? – CristiCh
Ho appena controllato iOS 7. Suona un po 'più lento di iOS 8 per me. Non l'ho mai capito prima. Ad esempio, penso che iOS 7 abbia bisogno di circa 0,25 per farlo corrispondere a .015 in iOS 8. Fornisco un controllo di velocità +/- 3 in modo che l'utente possa gestire questa piccola differenza. –
Questo è davvero non considerato per Apple, la mia app è progettata per persone con disabilità e la velocità deve essere esattamente la stessa su tutti i dispositivi/versioni iOS. Qualcuno conosce la conversione esatta dalla versione alla versione? –
Mi sono imbattuto in questo problema anche un paio di volte. Data la frequenza delle modifiche a iOS ultimamente, ho impostato una velocità di lettura di default in base alla versione di iOS l'utente è in esecuzione in AppDelegate.swift
in questo modo:
// iOS speech synthesis is flakey between 8 and 9, so set default utterance rate based on iOS version
if NSProcessInfo().isOperatingSystemAtLeastVersion(NSOperatingSystemVersion(majorVersion: 8, minorVersion: 0, patchVersion: 0)) {
NSUserDefaults.standardUserDefaults().setFloat(0.15, forKey: "defaultSpeechRate")
if NSProcessInfo().isOperatingSystemAtLeastVersion(NSOperatingSystemVersion(majorVersion: 9, minorVersion: 0, patchVersion: 0)) {
NSUserDefaults.standardUserDefaults().setFloat(0.53, forKey: "defaultSpeechRate")
}
} else {
NSUserDefaults.standardUserDefaults().setFloat(0.5, forKey: "defaultSpeechRate")
}
Sulla mia scena preferenze, ho aggiunto un cursore per regolare la velocità:
@IBOutlet var speechRateSlider: UISlider!
In viewDidLoad
, ho aggiunto il seguente:
// Set speech rate
speechRateSlider.value = NSUserDefaults.standardUserDefaults().floatForKey("defaultSpeechRate")
speechRateSlider.maximumValue = 1.0
speechRateSlider.minimumValue = 0.0
speechRateSlider.continuous = true
speechRateSlider.addTarget(self, action: "adjustSpeechRate:", forControlEvents: UIControlEvents.ValueChanged)
ho anche legato un'azione al UISlider
:
@IBAction func adjustSpeechRate(sender: AnyObject) {
NSUserDefaults.standardUserDefaults().setFloat(speechRateSlider.value, forKey: "defaultSpeechRate")
speechRateSlider.setValue(NSUserDefaults.standardUserDefaults().floatForKey("defaultSpeechRate"), animated: true)
print(NSUserDefaults.standardUserDefaults().floatForKey("defaultSpeechRate"))
}
Dato il comportamento imprevisto tra i dispositivi e così tante versioni di iOS in giro, ho optato per seguire questa strada, piuttosto che hard-code nella mia app.
- 1. Frequenza di enunciazione AVSpeechSynthesizer variabile in iOS7 e iOS 9
- 2. Problema UIDatePicker in iOS9
- 3. AVSpeechSynthesizer Voci di alta qualità
- 4. AVSpeechSynthesizer smette di funzionare dopo lo sfondo
- 5. Uscita AVSpeechSynthesizer come file?
- 6. Naive Bayesian e problema a frequenza zero
- 7. Frequenza di righe per ID
- 8. AVSpeechSynthesizer enunciato al file audio
- 9. Rilevazione di frequenza Python
- 10. Impossibile eseguire il debug di iOS9 Share su Xcode
- 11. Frequenza di campionamento API WebAudio
- 12. Algoritmo di sintesi di modulazione di frequenza
- 13. Come impostare la frequenza di ripetizione di notifica per l'utente
- 14. ios9, ALAsset.thumbnail.size è {75,75}?
- 15. calcolare la frequenza di R
- 16. Come generare una tabella di frequenza in R con frequenza cumulativa e frequenza relativa
- 17. NAudio intensità banda di frequenza
- 18. dati di base ios9: vincolo unico multifield
- 19. ios9 - Problemi con il ritaglio CVImageBuffer
- 20. iOS9 self.canDisplayBannerAds = true non mostra annunci
- 21. Ho bisogno di aiuto per ottenere la frequenza della CPU
- 22. iOS9 GoogleAnalytics e NSAppTransportSecurity
- 23. Cambia frequenza di campionamento di AudioContext (getUserMedia)
- 24. QPainter prestazioni ad alta frequenza di fotogrammi
- 25. iOS9 - HTTP Error Connection
- 26. iOS9: "Impossibile scaricare l'app"
- 27. Cambia colore tinta UIAlertController iOS9
- 28. spritekit ios9 fps drop
- 29. limiti di frequenza udp in python?
- 30. Con quale frequenza controlli il feedback di APNS?
In che modo non funziona lo stesso per iOS9? – Fogmeister
Parla molto più lentamente, quindi ho moltiplicato la frequenza di 6.0 per iOS9. Ma non mi piace questa soluzione. – CristiCh
Non utilizzerei lo stesso moltiplicatore per nessuna velocità. La differenza tra i sintetizzatori potrebbe essere 6x a un ritmo lento, ma i due tassi iniziano a convergere più ci si avvicina a 1. Vedere la risposta di Ernie Thomason sotto. – Gregarious