【问题标题】:iOS what is the value of accessibilitySpeechIPANotationiOS的accessibilitySpeechIPANotation的价值是什么
【发布时间】:2020-06-04 22:01:10
【问题描述】:

基于这个WWDC2018 video,我们可以动态改变AVSpeechSynthesizer中单词的发音方式。

我试图在我的 Xamarin 应用程序中执行此操作,但我找不到 accessibilitySpeechIPANotation 常量。

NSMutableAttributedString.AddAttribute(...) 的文档中,它说可以在此处找到常量:UIKit.UIStringAttributeKey。然而我要找的那个不在那里。

有人知道常量的实际字符串值是多少吗?或者更好的是,我可以在 Xamarin.iOS 中的哪个位置找到?

(我的应用使用xamarin.ios v4.0.30319,如果常量在较新版本的框架中,我会更新它,但是当我搜索它时google似乎没有给我任何结果。)

【问题讨论】:

    标签: xamarin xamarin.ios accessibility avspeechsynthesizer


    【解决方案1】:

    原因: Xamarin for iOS 是基于 Objective-C 的。Swift 和 Objective-C 有一些区别。

    解决方案: 代码如下:

    var attriStrng = new NSMutableAttributedString(new NSString("hello iPhone"));
    // you can set the voice here ,a͡͡a͡͡a͡͡a͡͡a͡͡ is just for testing
    attriStrng.AddAttribute(new NSString("AVSpeechSynthesisIPANotationAttribute"), new NSString("ˈa͡͡a͡͡a͡͡a͡͡a͡͡a͡͡a͡͡.ˈfo͡ʊn"),new NSRange(6,6));
    
    var voice = new AVSpeechUtterance(attriStrng);
    
    AVSpeechSynthesizer synthesizer = new AVSpeechSynthesizer();
    synthesizer.SpeakUtterance(voice);
    

    【讨论】:

    • 谢谢...它有效。出于好奇,您在哪里找到常量的值?
    • @SimonCorcos 我在 Xcode 中单击 accessibilitySpeechIPANotation 时持有 Command。然后我按下“跳转到定义”,这导致我在 UIKit 中声明它
    • 它是这样说的:"// 使用 NSString,包含国际音标 (IPA) 符号。 // 控制单词或短语的发音,例如专有名称。"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 2014-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多