我用AVSpeechSynthesizer来发短信,这是相关代码.

guard let nonNilText = text else { return }
let utterance = AVSpeechUtterance(string: nonNilText)
utterance.voice = AVSpeechSynthesisVoice(language: Locale.current.identifier)
utterance.rate = 0.4
synthesizer.speak(utterance)

一切都很正常,但似乎在一些设备上,特别是当iPhone的地区设置为英语时,Voice Over正在重现听起来像是对发声本身的描述:像这样的东西:说:Rate xxx,语音名称等于com.Apple……在我发短信之前.

我猜这可能与某些辅助功能设置有关,但我不知道在哪里启用它才能在我的iPhone上重现这个问题.你知道吗?

推荐答案

最终奏效的只是go 掉了这条线.

utterance.voice = AVSpeechSynthesisVoice(language: Locale.current.identifier)

让合成器自己挑选声音.

Ios相关问答推荐

如何在SwiftUI中扩展 colored颜色 超出顶部边缘

SwiftUI中的视频时间轴

如何在Flutter 中为S家长增加一个相对高度的间距

阿拉伯文变音符号(Harakat)在文本对齐的UILabel中未对齐

SWIFT AVFoundation翻转相机功能不起作用

SwiftUI Divider过大了其父视图

Xcode 15阻止我的应用程序运行:由于实时模式录制的高比率,丢失了1条日志(log)/路标消息?

使用按位|带有布尔操作数

为什么 Swift 不在启动的同一线程上恢复异步函数?

在 SwiftUI 中放置全局 NavigationPath 的位置

卡在 Apple 的 SwiftUI 教程第 5 章(更新应用数据)

Swift 图表:.chartYScale 似乎只适用于 100 的增量?

UITableView 页脚,停止浮动内容

无法验证客户端 3000

在 Swift 中追加字符串

每个版本的 iOS 都附带什么版本的移动 Safari?

Swift 中的日期到毫秒和回溯到日期

UITextView 内容插图

为给定的 UIColor 获取更亮和更暗的 colored颜色 变化

/usr/bin/codedesign 失败,退出代码为 1