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.

Также доступен другой пример, чтобы выяснить, как получить фонемы и вставить их в код.

Другие вопросы по тегам