iOS Swift:UIAccessibilitySpeechAttributeIPANotation [英] IOS Swift : UIAccessibilitySpeechAttributeIPANotation

查看:122
本文介绍了iOS Swift:UIAccessibilitySpeechAttributeIPANotation的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使我的应用使用AVSpeechSynthesizerIPANotation中讲话,但是下面的代码段不起作用

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)

这不是完美的方法,但它使使用

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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆