本文介绍了iOS Swift:UIAccessibilitySpeechAttributeIPANotation的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使我的应用使用AVSpeechSynthesizer在IPANotation中讲话,但是下面的代码段不起作用
I am trying to make my app to speak in the IPANotation using AVSpeechSynthesizer, but it not working below is my code snippet,
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)谢谢
推荐答案在此之后尝试代码段(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)这不是完美的方法,但它使使用 AVSpeechSynthesizer .
This is not perfect but it makes the IPA notation work using AVSpeechSynthesizer.
还可以提供另一个示例了解如何获取音素并将其放入代码中.
Another example is also available to figure out how to get the phonemes and put them into the code.
更多推荐
iOS Swift:UIAccessibilitySpeechAttributeIPANotation
发布评论