Скорость AVSpeechUtterance не работает одинаково для iOS 9 и предыдущих версий ОС. Какое изменение я должен сделать, чтобы предложение говорилось с одинаковой скоростью. Есть ли какие-либо другие изменения, которые мне нужно сделать для iOS9? Кажется, что умножение AVSpeechUtterance.rate на 6.0 работает отлично. Спасибо!iOS9 AVSpeechИнтернет скорости для проблемы с AVSpeechSynthesizer
ответ
Я также вижу изменение после компиляции с новым XCode. Ниже приведены мои сопоставления от старой к новой скорости. Теперь у меня разные назначения скорости, если у устройства < = iOS8 или> = 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
это похоже примерно правильный. вы также проверили iOS7? – CristiCh
Я только что проверил iOS 7. Он играет немного медленнее, чем iOS 8 для меня. Я этого никогда не понимал. Например, я думаю, что iOS 7 нуждается в 0,25, чтобы получить его .015 в iOS 8. Я предоставляю управление скоростью +/- 3, чтобы пользователь мог справиться с этой небольшой разницей. –
Это действительно не учтено для Apple, мое приложение предназначено для людей с ограниченными возможностями, и скорость должна быть одинаковой на всех версиях устройств/iOS. Кто-нибудь знает точное преобразование из версии в версию? –
Я столкнулся с этим вопросом несколько раз. Учитывая периодичность изменений прошивки в последнее время, я установил скорость речи по умолчанию, основанную на версии IOS пользователь работает в AppDelegate.swift
как так:
// 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")
}
На моих предпочтениях сцены, я добавил ползунок для регулировки скорости:
@IBOutlet var speechRateSlider: UISlider!
в viewDidLoad
, я добавил следующее:
// 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)
Я также связали действие на 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"))
}
Учитывая неожиданное поведение различных устройств и так много версий прошивки, плавающую вокруг, я решил пойти по этому пути, а не прописывать его в мое приложение.
- 1. AVSpeechSynthesizer iOS 8 Проблемы
- 2. AVSpeechSynthesizer не может работать с японцами на реальном устройстве iOS9
- 3. ios9 - Проблемы с обрезкой CVImageBuffer
- 4. UIKeyboardWillShowNotification проблемы в iOS9
- 5. Язык AVSpeechSynthesizer
- 6. Некоторые проблемы для скорости загрузки страницы
- 7. IBM App Center и iOS9 Проблемы
- 8. Использования динамиков картинки с AVSpeechSynthesizer
- 9. System.IO.Packaging проблемы скорости в C#
- 10. Основные проблемы с производительностью iOS9 с комплектом Sprite
- 11. Ошибки и проблемы Ionic и ios9
- 12. Woothemes Flexslider Проблемы с изменением скорости ползунка
- 13. AVspeechSynthesizer iOS text speech
- 14. Звуки высокого качества AVSpeechSynthesizer
- 15. AVSpeechSynthesizer в фоновом режиме
- 16. AVSpeechSynthesizer word stress
- 17. AVSpeechSynthesizer didFinishSpeechUtterance не называется
- 18. AVSpeechSynthesizer postUtteranceDelay timing problems
- 19. AVAudioRecorder блокирует AVSpeechSynthesizer
- 20. AVSpeechSynthesizer Специальные символы
- 21. Выход AVSpeechSynthesizer как файл?
- 22. Кэш ios9 для NSData?
- 23. AVSpeechSynthesizer continueSpeaking не работает
- 24. AVSpeechSynthesizer ошибка AudioSession
- 25. Swift avspeechsynthesizer различные языки
- 26. AVSpeechSynthesizer Определить конец речи?
- 27. AVSpeechSynthesizer произнесение на аудиофайл
- 28. Использование AVSpeechSynthesizer на фоне
- 29. Фоновый таймер для ios9
- 30. NSFoundationVersionNumber для ios9
Каким образом он не работает для iOS9? – Fogmeister
Он говорит гораздо медленнее, поэтому множил ставку на 6.0 для iOS9. Но мне это не нравится. – CristiCh
Я бы не использовал один и тот же множитель для любой скорости. Разница между синтезаторами может составлять 6х с низкой скоростью, но две скорости начинают сближаться ближе, чем вы добираетесь до 1. См. Ответ Эрни Томасона ниже. – Gregarious