首页 > 解决方案 > iOS的accessibilitySpeechIPANotation的价值是什么

问题描述

基于这个WWDC2018 视频,我们可以动态改变单词的发音方式AVSpeechSynthesizer在此处输入图像描述

我试图在我的 Xamarin 应用程序中这样做,但我找不到accessibilitySpeechIPANotation常量。

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

有谁知道常量的实际字符串值是什么?或者更好的是,我可以在 Xamarin.iOS 的哪里找到?

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

标签: xamarinxamarin.iosaccessibilityavspeechsynthesizer

解决方案


原因: 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);

推荐阅读