问题标签 [avspeechsynthesizer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5232 浏览

swift - 如何快速暂停和恢复 AVSpeechSynthesizer / AVSpeechUtterance?

我已经在我的应用程序中实现了文本转语音,并且它适用于我当前使用的代码。基本上,算法会创建一个文本,然后如果用户单击 UIButton,则会说出文本。

挑战:如果按钮已被点击(即当前正在朗读文本),我想启用相同的 UIButton 来暂停合成器,然后如果再次点击该按钮,则从停止的地方继续朗读。

我知道 AVFoundation Reference 中有一些功能,但我无法正确实现它们。

有谁知道如何在 Swift 中做到这一点?

0 投票
3 回答
3492 浏览

ios - iOS 8 中的 AVSpeechUterrance 速度

我在 iOS 7 中有一个使用语音合成的代码,一切顺利。为了定义我的 AVSpeechUtterance 速度,我使用了以下公式

但似乎,至少在我的 iPhone 5S 上,在 iOS 8 下,AVSpeechUtteranceDefaultSpeechRate 比在 iOS 7 上快得多。

有没有人经历过?

编辑:我浏览了 Apple 开发论坛,似乎其他人遇到了这个错误,但它可能取决于其他参数,比如语言......

0 投票
1 回答
685 浏览

ios - 如果在设备的辅助功能设置中未启用 SpeakSelection,则使用 AVSpeechSynthesizer/AVSpeechUtterance 进行文本转语音将不起作用

我使用 AVSpeechSynthesizer 和 AVSpeechUtterance 进行文本转语音。它工作正常,但用户必须在他/她的设备的可访问性设置中启用 SpeakSelection 功能。有没有办法为他们做这件事,或者至少检查设置并警告他们?

0 投票
1 回答
1322 浏览

ios - AVSpeechSynthesizer 检测到讲话结束?

我希望能够判断语音合成器何时完成其话语。是否有可能做到这一点?

0 投票
2 回答
933 浏览

ios8 - AVSpeechUtterance 不起作用

在 IOS 8 中,AVSpeechUtterance 不起作用。每次我将 AVSpeechSynthesizer 与 AVSpeechUtterance 一起使用时,我都会收到“语音初始化错误:2147483665”。相同的代码适用于 IOS 7.1 我有一个非常大的文本要转换为语音,并且使用 Google TTS 将不允许我一次使用超过 100 个字符。如何在 IOS 8 中实现文本转语音?任何帮助将不胜感激。

0 投票
1 回答
446 浏览

xcode - 使用 AVSpeechSynthesizer 提供更多不同语言的句子

我的代码用一种语言讲文本并切换到另一种语言(如有必要)。问题是,只说第一句话。我需要有可能用一种以上的语言说更多的句子。我需要不同的语言,这需要新的初始化。如果第一句话很短,它有时也会说第二句话。第三个从来没有说过。一个建议?

0 投票
3 回答
5459 浏览

ios - AVSpeechSynthesizer 在后台运行后停止工作

AVSpeechSynthesizer在单例中使用。在iOS 8中,当应用程序在后台运行一段时间后,当它恢复时,AVSpeechSynthesizer单例将不再说话。这个问题在iOS 7上不会发生。

当应用程序进入后台时,我的日志中会显示以下消息:

我在单例的方法中初始化AVSpeechSynthesizer这样的:init

utterance这样说:

有没有人在iOS 8上看到过类似的东西?

0 投票
1 回答
1259 浏览

swift - Swift avspeechsynthesizer 不同语言

这行代码就是您如何更改 obj-c 中的语言的方式。但我想知道是否有人可以告诉我它是如何快速实施的。在文档中使用了这行代码...

但我不明白我会在哪里实现它:/

0 投票
0 回答
51 浏览

ios - AVSpeechSynthesizer 在完成后不呈现新的视图控制器

我在我的一个项目中实现了 AVSpeechSynthesizer。代码在到达合成器的didFinishSpeechUtterance委托方法之前一直有效。现在,我不确定它是否被调用。有可能它被调用了,但是我的用于在话语完成时呈现新视图控制器的代码在委托方法中没有正确编写。我知道我展示新视图控制器的代码是正确的,因为它可以在其他任何地方工作,除了这里。有任何想法吗?

0 投票
1 回答
225 浏览

ios - AVSpeechSynthesizer 在应用程序扩展中工作吗?

是否可以在应用扩展中使用 AVSpeechSynthesizer?

我已经向我的应用程序添加了一个应用程序操作扩展,并且在显示的默认控制器上,我在- (void)viewDidAppear:(BOOL)animated挂钩中添加了一些测试代码,看看我是否可以让语音合成器说 @"Hello World" 但是它似乎没有发出任何声音。

然后我尝试将合成器的委托设置为控制器,一切似乎都正常。

- (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didStartSpeechUtterance:(AVSpeechUtterance *)utterance

被调用。几秒钟后

- (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didFinishSpeechUtterance:(AVSpeechUtterance *)utterance

这似乎表明一切正常,但没有声音输出(我的音量调高了)。

我尝试将相同的代码片段添加到我的应用程序(包含应用程序)中,它会按预期说出文本。

我了解某些框架不适用于应用程序扩展,如文档中所述。但是 AVFoundation 似乎没有说明它不适用于应用程序扩展。

任何见解将不胜感激。

提前致谢!