IOS Swift: UIAccessibilitySpeechAttributeIPANotation
Я пытаюсь заставить свое приложение говорить в IPANotation
с помощью AVSpeechSynthesizer
, но это не работает ниже мой фрагмент кода,
let synthesizer = AVSpeechSynthesizer()
let attributedStr = NSMutableAttributedString(string: "Hello iPhone")
attributedStr.addAttribute(NSAttributedString.Key(UIAccessibilitySpeechAttributeIPANotation), value: "ˈa͡ɪ.ˈfo͡ʊn", range: NSRange(location: 6, length: 6))
let utterance = AVSpeechUtterance(attributedString: attributedString)
synthesizer.speak(utterence)
Спасибо
0 ответов
Попробуйте фрагмент кода ниже (iOS 12 - Swift 5.0):
let attrStr = NSMutableAttributedString(string: "hello my little ")
let pronunciationKey = NSAttributedString.Key(rawValue: AVSpeechSynthesisIPANotationAttribute)
let attrStr2 = NSMutableAttributedString(string: "blablabla",
attributes: [pronunciationKey: "ˈa͡ɪ.ˈfo͡ʊn"])
let finalAttrStr = NSMutableAttributedString()
finalAttrStr.append(attrStr)
finalAttrStr.append(attrStr2)
let utterance = AVSpeechUtterance(attributedString: finalAttrStr)
utterance.voice = AVSpeechSynthesisVoice(language: "en-GB")
let synthesizer = AVSpeechSynthesizer()
synthesizer.speak(utterance)
Это не идеально, но заставляет нотацию IPA работать с использованием AVSpeechSynthesizer.
Также доступен другой пример, чтобы выяснить, как получить фонемы и вставить их в код.