- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试使用 isSpeaking 属性来完成此操作。但是,它会在说出第一句话后返回 false,因此会过早触发所需的代码。
根据 Apple Dev Documentation 正在说话:
Returns true if the synthesizer is speaking or has utterances enqueued to speak, even if it is currently paused. Returns false if the synthesizer has finished speaking all utterances in its queue or if it has not yet been given an utterance to speak.
所以,我真的不明白为什么在排队的人多的时候说了一句就返回 false。
我也尝试过使用 didFinish utterance 方法,但它也会在第一次发言后触发代码。
有没有办法知道 AVSpeechSynthesizer 何时说完所有排队的话语,如下面的代码示例所示?我是编程新手,所以任何帮助实现这一点都会很棒。谢谢!
var i = 0
while i < array.count {
let utterance = "Let's talk about \(array[i])."
i += 1
speechSynthesizer.speak(utterance) }
最佳答案
实际上,目前(iOS 12、Swift 5.0)没有关于 AVSpeechSynthesizer 队列的可用信息,这让我们对其内容“视而不见”。
由于 AVSpeechSynthesizerDelegate
protocol methods,当您向说话者提供话语时,了解队列中内容的唯一方法是跟踪每个话语的开始和结束。 .
关于swift - 如何知道 AVSpeechSynthesizer 何时说完所有排队的话语。 swift 4.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53126981/
我找到了 --可以添加一个小的停顿,比如数字倒计时: 10--9--8--7--6--5--4--3--2--1-- 但我不知道如何添加一个长时间的停顿,比如 1 秒? 任何的想法? 最佳答案 在 S
我想在 AVSpeechSynthesizer 说话时在我的应用程序上显示一个 View ,并在它停止说话时让该 View 消失。 -(void)speakText { AVSpeechSyn
我正在我的应用程序中使用此 UI 实现 AVSpeechSynthesizer: 如何从 AVSpeechSynthesizer 话语中获取进度?我看到没有委托(delegate)方法或 API 来获
我有一个使用UICollectionView的快速应用程序。 UICollectionView 中的每个单元格都有一个显示一些文本的 View Controller 。我添加了两个按钮来启动和暂停 A
我正在尝试使用 Swift 创建一个应用程序。 我正确集成了语音转文本和文本转语音:我的应用程序运行完美。你可以找到我的项目here . 语音转文本后,应用程序向服务器发出 http 请求(发送识别的
是否可以在应用扩展中使用 AVSpeechSynthesizer? 我已经在我的应用程序中添加了应用程序操作扩展,并且在显示的默认 Controller 上,我在 - (void)viewDidApp
我正在使用 AVSpeechSynthesizer 读取一个字符串,但如果该字符串包含任何特殊字符(如表情符号微笑),它会报错。 如何清除字符串中的特殊字符但保留对日语、中文的支持? 最佳答案 将 N
我想知道语音合成器何时说完它的话语。可以这样做吗? 最佳答案 您是否考虑过设置 delegate为你的合成器? 关于ios - AVSpeechSynthesizer 检测到说话结束?,我们在Stac
我正在使用**AVSpeechSynthesizer**,以下是将文本传递给**AVSpeechSynthesizer**的代码。 func speakOutText(_ textToRead:Str
目前我有一张带有注释的 map ,当用户点击注释时会播放音频。我想添加一个播放/暂停按钮,但它不起作用,我不确定为什么。 AVSpeechSynthesizer - (void)mapView:(MK
我正在使用 AVSpeechSynthesizer 将 2 种语言的文字转为语音。有没有办法在单词的不同部分指定语音重音? 我试过将 ' 放在想要的元音前后,还尝试使用带有重音符号的元音,例如ó、ý
我正在使用下面的代码在我的应用程序中读出一个字符串。 var mySynthesizer = AVSpeechSynthesizer() var myUtterance = AVSpeechUtter
我一直在尝试使用 AVSpeechSynthesizer 从 UIWebView 读取文本。我想要的方法是: 使用JS获取屏幕顶部可见元素(即p、h1、h2、h3等) 使用 JS 将元素拆分为单词数组
utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-au"]; 这行代码正是您如何更改 obj-c 中的语言的方法。但我想
我正在使用 AVSpeechSynthesizer 在我的 iOS 应用中进行文本到语音转换。 语音合成器在除运行 iOS 9.0.2 的 iPad 2(型号 A1395)以外的所有设备上都运行良好。
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 8 年前。 Improve t
我正在使用 AVSpeechSynthesizer 为一些文本数据发声,它第一次可以工作,但之后就没用了。 我收到以下消息。 错误:- AppName[859:101035] [AXTTSCommon
AVSpeechSynthesizer 似乎支持多代表英语(英国,美国...) 是否支持其他语言?法语、葡萄牙语……某处有这些语言的列表吗? 最佳答案 是的,确实如此。使用 AVSpeechSynth
我有一个应用程序,使用覆盖文本到语音的 swift avspeechsynthizer 运行良好。 avspeechsynehtizer 是否执行与文本相反的语音。 最佳答案 是的!您有可以使用的 S
我在我的 iOS 应用程序中使用 AVSpeechSynthesizer for TTS。但是没有调用 didFinishSpeechUtterance 方法。 这是我在 .h 中的代码: #impo
我是一名优秀的程序员,十分优秀!