问题标签 [onutterancecompleted]
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.
android - onUtteranceCompleted 没有被调用?
即使我设置正确:
还
在 onInit 函数中返回成功。仍然没有调用 onUtteranceCompleted。虽然有重复的问题,但我找不到答案。
我的 Activity 还实现了 OnUtteranceCompletedListener。
请帮忙。
android - 如果收到的 TTS 太长,则 onUtteranceCompleted() 丢失
我刚刚在 Android 的 TTS 引擎中观察到一个“未记录的异常”:如果要说的文本太长(大于 4K 字符),那么该特定话语的onUtteranceCompleted()将永远不会到达......
有没有其他人遇到过这个?
这是一个已知的错误或限制吗?
可以做些什么来解决这个问题?
android - 如何让 OnUtteranceCompleted 被调用?
我一直在网上冲浪(阅读 google/android 开发者文档,阅读 stackoverflow 的类似问题,阅读书籍)并且非常密切地关注示例。文本到语音的“说话”效果很好。但我就是无法调用 OnUtteranceCompleted。
它一定很简单,以至于我没有看到答案。请帮忙!这是我经过几次互动后的代码。
或者有人可以提供一个完整的源代码(而不是片段),以查看它是否适用于我的模拟器/实际设备?
android - onUtteranceCompleted 在模拟器上被触发,但不在硬件上
我无法onUtteranceCompleted()
在我的 Galaxy Nexus 4.0.2 上被解雇。我的带有 api 8、10 和 15 的模拟器会开火onUtteranceCompleted()
。
编辑:嗯..上面的陈述在大多数情况下都是正确的,我只是让它在我的硬件 4.0.2 上工作。然后我关闭它并再次启动它,并且 onUtteranceCompleted() 没有再次被解雇。昨天有同样的事情(在一些代码更改之前),所以它在 90% 的时间里都没有工作。想不通;(
编辑2:仅供参考:mTts.setOnUtteranceCompletedListener(this); 返回 TextToSpeech.SUCCESS
这是我的代码:
android - TtsService 中的什么可以解释 playEarcon() 缺少 onUtteranceCompleted() 的原因?
前段时间,我发现playEarcon()
永远不会产生 onUtteranceCompleted()
.
当时,我只是将“在合成话语时调用”的文档解释为onUtteranceCompleted()
不适用于耳控,因为耳控并不是 TTS 合成的真正结果。
但是再次查看 Android 的源代码,我根本找不到可以证明我的解释合理的解释。
关于我的测试夹具的一些事实:
onUtteranceCompleted()
总是在 earcon 之前到达话语 ID。该话语是普通的 TTS 话语,而不是耳标。- 之后的earcon确实发挥了作用(即完全符合预期)。
onUtteranceCompleted()
因为那个耳标永远不会出现。这是非常一致且可重现的行为。
深入研究 TtsService 源代码,似乎只有 2 种方法会影响 的到达(或不存在)onUtteranceCompleted()
:
如果您检查该代码,您将看到第三个候选者 TtsService.getSoundResource()被排除在外(因为我的earcon 缺少 onUtteranceComplete 负责),因为上面的事实#2:earcon 总是播放,因此getSoundResource()
不可能返回空值。
使用相同的逻辑,也可以排除第一个候选者 TtsService.processSpeechQueue() ,因为相同的事实 #2:earcon 始终播放,因此始终执行以下 2 个关键语句:
所以,我们只剩下第二个候选者,TtsService.onCompletion(),作为为什么 aplayEarcon()
从不产生 onUtteranceCompleted()
的可能解释:
在那里,只有 2 个条件无法产生dispatchUtteranceCompletedCallback():
- currentSpeechItemCopy == null
- utteranceId.length() == 0
但我确信可以排除条件 #2,因为我记录了所有 utteranceIds 并且耳标肯定存在。
此外,检查整个系统日志:
丢失onUtteranceCompleted()
可能是dispatchUtteranceCompletedCallback()没有被调用的结果,但也可能是mCallbacksMap.get(packageName)
返回 null 的结果。
所以,我们再次留下了两种可能性,这两种可能性对我来说都没有多大意义:
- 在调用 earcon 的onCompletion()时,earcon 的
mCurrentSpeechItem
值为空。但是为什么? - mCallbacksMap为空。它是什么,它什么时候被填充?
解决这个谜团的任何建议或其他解释?
java - Android STT onResult 在 TTS onUtteranceCompleted 后未触发
我正在尝试制作一个为视力障碍者提供方向的应用程序。该应用程序将提供说明(使用 TTS)并获取用户命令(使用 STT)。这是我的 MainActivity 的代码
我的 STT.java
和我的 TTS.java
没有 onUtteranceCompletedListener,它工作得很好(STT onResult 被触发)。但是在 onUtteranceCompleted 之后,我无法触发任何 STT onResult。
注意:我正在使用 onUtteranceCompletedListener(已弃用),因为我的测试设备处于 API 级别 10(Android 2.3.3)
编辑:TTS onUtteranceCompleted 被解雇就好了,问题只是 STT onResult 无论如何都不会被解雇
android - 当 TextToSpeech 动作完成时实现振动
我正在开发一个项目,该项目需要在 TextToSpeech 函数完成消息时通过振动发出警报。我已经实现了 TextToSpeech 函数,并且知道如何创建振动,但我不确定在哪里编写振动代码。此外,我遇到的关于如何实现 OnUtteranceCompleted 方法的示例让我感到非常困惑。谁能帮我把 OnUtteranceCompleted 函数放在一起,以及在哪里插入振动代码?这是我的代码:
公共类 TypeNewMessageActivity 扩展 Activity 实现 TextToSpeech.OnInitListener{
android - onUtteranceCompleted 方法中的意图不起作用
我正在尝试实现在 TextToSpeech 功能完成后将用户带回主屏幕的意图,但它不起作用,我不知道为什么。这是我的代码:
java - onUtteranceCompleted 不允许 PhoneCallListener
出于某种原因,我无法从 onutteranceCompleted 调用包含 PhoneCallListener 的方法。没有错误消息,它似乎只是停止执行脚本。我添加了一些日志,它通过 PhoneCallListener 进入 setUpPhone 中的“这里”日志。如果没有 PhoneCallListener,它将进入最终日志“电话设置”。这是我如何实现它的示例代码。
android - TextToSpeech OnUtteranceCompletedListener 导致延迟
我需要 TextToSpeech 引擎一个接一个地说出我的话,我试图抓住一个单词的结束来开始说下一个单词。但OnUtteranceCompletedListener
造成发言有些延迟。所以我的问题是,我该如何解决这个问题或更好地实施 OnUtteranceCompletedListener
?