问题标签 [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 投票
1 回答
594 浏览

ios - iOS AVSpeechSynthesizer 是否支持嵌入式语音命令

Mac OS 语音合成器具有一组嵌入式命令,可让您执行更改音高、语速、强调程度等操作。例如,您可以使用

那是 [[emph +]] 不是 [[emph -]] 我的狗!

强调短语中的“不”一词

不是我的狗!

iOS语音合成器中是否有这样的支持?看起来没有,但我希望有人知道如何做到这一点。

作为后续问题,有没有办法对给定区域设置的“Stock”语音进行全局更改?”在 Siri 的设置中,您可以选择语言和国家以及性别。出现 AVSpeechSynthesizer但是,只为每种语言/国家/地区提供一个单一的、半随机的性别。(例如,en-US 的声音是女性,en-GB 是男性,en-AU 是女性,没有明显的方法可以改变它。 )

0 投票
1 回答
1245 浏览

ios - AVSpeechSynthesizer - 如果 AVSpeechSynthesizer 正在说话并且已经停止说话

我想在 AVSpeechSynthesizer 说话时在我的应用程序上显示一个视图,并在它停止说话时消失。

我似乎无法弄清楚如何解决这个问题?我看过苹果文档建议

但我无法锻炼如何在我的应用程序中实现这一点。

0 投票
1 回答
754 浏览

ios - 目标 C:等待 AVSpeechSynthesizer 直到它说完一个单词

在应用程序说完之前,我需要禁用与用户的交互。请参见下面的示例代码:

0 投票
1 回答
493 浏览

ios - 如何使用 AVSpeechSynthesizer 阅读国际语音字母表

我正在开发一个 iOS 应用程序,我有一些语音方面的词,我希望我的 iPhone 说出这些词。

例如“tʃat”的意思是“聊天”。

但是 AVSpeechSynthesizer 不能正确地说出来。ʃ 不发音。

我错过了什么吗,我需要第三方吗?或者这在 iOS 上是否可行?

0 投票
1 回答
53 浏览

ios - 目标 c: BOOL 检查当前是否正在发出 AVSpecchUtterance

我正在创建一个使用 AVSpeechUtterance 的 iOS 应用程序。按下按钮时会创建话语。目前,如果用户重复点击按钮,每次点击都会排队一个新的话语,并且它们将被重复发出,直到每个都播放完毕。

我想对此进行修改,以便只有在按下按钮时没有发出其他话语时才会创建话语。我认为这将是一个简单的布尔检查最简单的。有谁知道任何布尔值可以让我检查这个?

0 投票
3 回答
816 浏览

ios - VoiceOver 停止朗读文本后使用 AVSpeechSynthesizer 宣布文本

当我的应用程序的所有用户执行某些操作时,我需要向他们宣布一些文本。为此,我使用AVSpeechSynthesizer. 这很好用,除非您使用 VoiceOver 来执行操作。因为 VoiceOver 是在向用户公布一些系统提供的信息AVSpeechUtterance,所以同时播放 my,所以声音是重叠的。如何将我的语音进行排队,以便在 VoiceOver 完成讲话后才播放它?

0 投票
1 回答
190 浏览

javascript - 逐字同步的 AVSpeechSynthesizer

我一直在尝试使用AVSpeechSynthesizerUIWebView. 我想做的方式是:

  1. 使用 JS 获取屏幕顶部可见元素(即 p、h1、h2、h3 等)
  2. 使用 JS 将元素拆分为单词数组。
  3. 一个接一个地,每个单词都被突出显示(JS)并使用AVSpeechSynthesizer.

现在的问题是,由于每个单词一次只说一个,所以它说话非常突然,就像单个单词而不是句子一样。我想要的是,如果能让整个元素说话AVSpeechSynthesizer并了解说话的时间有多长,以便同步突出显示或以某种方式使现在正在说出的个人单词保持为一个句子。

0 投票
1 回答
634 浏览

ios - 等待 AVSpeechSynthesiser 完成话语

我正在编写一个应用程序,允许用户在听到他们想要关注的网络链接时按下按钮。

问题是我正在使用的 for 循环将所有文本添加到话语列表中,并且在继续之前不等待话语完成,这意味着我无法判断他们想要遵循的链接。

我有一堂课叫

演讲

这是 AVSpeechSynthesiser 的代表,并试图创建我自己的方式来确定话语何时结束:

而在课堂上

视图控制器

这个想法是应用程序应该等到话语发生然后继续。但此刻它读出“书签”并停止,它甚至没有读出第一个书签,我也尝试将 while 循环放在 for 循环的开头。

任何人都可以帮助我,我将非常感激。

谢谢

0 投票
1 回答
827 浏览

ios - 如何在 Swift 中的 while 循环的每次迭代中立即进行语音?

这是我的游乐场代码:

目前,演讲在 while 循环完成后开始。

我怎样才能让它在每次迭代期间说话并在继续循环的下一次迭代之前完成说话?

0 投票
1 回答
500 浏览

ios - AVSpeechSynthesizer 说话,再次运行时,需要 10 秒左右才能开始

当我运行这段代码时,它运行良好,但是当我再次运行它时,它需要大约 10 秒左右才能运行,而且有时也会被切断。

编辑:下面我添加了更多代码,以便更好地了解代码的执行位置。在这种情况下,主线程将是实际的 Siri UI。这是在越狱设备上执行的代码。它允许我用印地语回复我不懂英语的父母的 Siri...