首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AVSpeechSynthesizer不再在ios16下工作了

AVSpeechSynthesizer不再在ios16下工作了
EN

Stack Overflow用户
提问于 2022-09-13 16:06:35
回答 4查看 1.6K关注 0票数 7

我为我的应用程序编写了一个text2speech函数的小函数。代码在ios16之前运行良好。现在我看到了以下控制台日志:

代码语言:javascript
运行
复制
022-09-13 18:04:02.274692+0200 Blindzeln_Prototyp[47358:164517] [asset] Failed to get sandbox extensions
2022-09-13 18:04:02.314956+0200 Blindzeln_Prototyp[47358:164517] [catalog] Query for com.apple.MobileAsset.VoiceServicesVocalizerVoice failed: 2
2022-09-13 18:04:02.315688+0200 Blindzeln_Prototyp[47358:164517] [catalog] Unable to list voice folder
2022-09-13 18:04:02.333665+0200 Blindzeln_Prototyp[47358:164517] [catalog] Query for com.apple.MobileAsset.VoiceServices.GryphonVoice failed: 2
2022-09-13 18:04:02.334239+0200 Blindzeln_Prototyp[47358:164517] [catalog] Unable to list voice folder
2022-09-13 18:04:02.338622+0200 Blindzeln_Prototyp[47358:164517] [catalog] Unable to list voice folder
2022-09-13 18:04:02.355732+0200 Blindzeln_Prototyp[47358:164583] [AXTTSCommon] File did not exist at content path: (null) (null). Attempting to fallback to default voice for language: (null)
2022-09-13 18:04:02.420342+0200 Blindzeln_Prototyp[47358:164583] [AXTTSCommon] Error: Unable to speak. No speech service: voice: (null) identifier: (null), language: (null), resource: (null)

下面是简单的代码:

代码语言:javascript
运行
复制
import Foundation
import AVFoundation

func sayIt(text2speech: String) {
    let utterance = AVSpeechUtterance(string: String(text2speech))
    utterance.voice = AVSpeechSynthesisVoice(language: "de-DE")
    utterance.rate = 0.5
    
    let synthesizer = AVSpeechSynthesizer()
    synthesizer.speak(utterance)
}

有什么暗示吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2022-11-07 08:41:58

我以前外包过let synthesizer = AVSpeechSynthesizer()

使用iOS 16,结果不是零,但我的声音超过功能已经变成一个退化的机器人声音,相当听不清和难以理解。如果您使用的是特定版本的语言,如清单所示:这里,您可以忘记它。iOS 16不再嵌入它们。

代码语言:javascript
运行
复制
[catalog] Unable to list voice folder

你必须用基本的声音代替它。例如,"de-DE"而不是"de-DE, Name: Anna, Quality: Default [com.apple.ttsbundle.Anna-compact]"

票数 1
EN

Stack Overflow用户

发布于 2022-09-13 22:28:28

试着移动

代码语言:javascript
运行
复制
let synthesizer = AVSpeechSynthesizer()

在功能之外。对我起作用了。

票数 9
EN

Stack Overflow用户

发布于 2022-09-28 18:10:48

罗希特描述的设置在iOS 16模拟器上为我工作。显然,默认情况下,iOS 16模拟器没有加载任何声音。模拟设备本身的确切顺序如下:

设置/可访问性/口语内容必须打开语音选择。会列出声音。摸摸那个。选择你的语言。选一个声音。单击下载按钮。等。完成后,您可以退出,并关闭说话选择的方式,如果你想。打开它是必要的,以便能够选择和下载一个声音。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73706115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档