In questo momento, la mia app implementa AVSpeechSynthesizer
per leggere le istruzioni per ogni schermata. L'app tiene anche in considerazione quando la funzionalità di accessibilità Voiceover è abilitata.Come interrompere Text to Speech quando Voiceover sta parlando o viceversa in Swift?
Il problema che sto affrontando ora è che la funzione di sintesi vocale si sovrappone alla funzione di voce fuori campo. C'è una soluzione per rilevare che quando un utente naviga verso un altro elemento sullo schermo, TTS smette di parlare, o quando TTS sta parlando, la voce fuori campo non parla fino a quando non termina TTS (il primo è preferito però).
Lo sviluppo attuale è su iOS 8, utilizzando Swift.
Ciao Chris! Grazie per il tuo suggerimento! Tuttavia, non riesco a trovare il metodo di notifica che stai utilizzando. Gli unici disponibili da utilizzare sono [questo link] (https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIAccessibilityFocus_Protocol/index.html#//apple_ref/occ/instm/NSObject/accessibilityElementDidLoseFocus). Ho provato a sovrascrivere anche i metodi 'accessibilityElementDidLoseFocus()' e 'accessibilityElementDidBecomeFocused()', ma non sembra essere di aiuto quando passo all'elemento successivo nella modalità di accessibilità di VoiceOver. Qualche idea su questo? –
Non è affatto un metodo. Devi registrarti per ascoltare le notifiche. Se non sai cosa sono questi dovresti leggere su di loro, dato che la risposta a questo è al di fuori dello scopo di questa domanda: https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ Notifiche/Articoli/Registrazione.html – ChrisCM
Grazie per il chiarimento Chris!Dato che sono ancora nuovo a questo, vorrei semplicemente chiarire se 'UIAccessibilityElementFocusedNotification' è disponibile per l'uso su iOS8? E se sì, ti dispiace condividere un link su come comportarti? (: –