问题标签 [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.

0 投票
1 回答
4179 浏览

android - onUtteranceCompleted 没有被调用?

即使我设置正确:

在 onInit 函数中返回成功。仍然没有调用 onUtteranceCompleted。虽然有重复的问题,但我找不到答案。

我的 Activity 还实现了 OnUtteranceCompletedListener。

请帮忙。

0 投票
2 回答
723 浏览

android - 如果收到的 TTS 太长,则 onUtteranceCompleted() 丢失

我刚刚在 Android 的 TTS 引擎中观察到一个“未记录的异常”:如果要说的文本太长(大于 4K 字符),那么该特定话语的onUtteranceCompleted()将永远不会到达......

有没有其他人遇到过这个?

这是一个已知的错误或限制吗?

可以做些什么来解决这个问题?

0 投票
2 回答
1456 浏览

android - 如何让 OnUtteranceCompleted 被调用?

我一直在网上冲浪(阅读 google/android 开发者文档,阅读 stackoverflow 的类似问题,阅读书籍)并且非常密切地关注示例。文本到语音的“说话”效果很好。但我就是无法调用 OnUtteranceCompleted。

它一定很简单,以至于我没有看到答案。请帮忙!这是我经过几次互动后的代码。

或者有人可以提供一个完整的源代码(而不是片段),以查看它是否适用于我的模拟器/实际设备?

0 投票
1 回答
141 浏览

android - onUtteranceCompleted 在模拟器上被触发,但不在硬件上

我无法onUtteranceCompleted()在我的 Galaxy Nexus 4.0.2 上被解雇。我的带有 api 8、10 和 15 的模拟器会开火onUtteranceCompleted()

编辑:嗯..上面的陈述在大多数情况下都是正确的,我只是让它在我的硬件 4.0.2 上工作。然后我关闭它并再次启动它,并且 onUtteranceCompleted() 没有再次被解雇。昨天有同样的事情(在一些代码更改之前),所以它在 90% 的时间里都没有工作。想不通;(

编辑2:仅供参考:mTts.setOnUtteranceCompletedListener(this); 返回 TextToSpeech.SUCCESS

这是我的代码:

0 投票
1 回答
751 浏览

android - TtsService 中的什么可以解释 playEarcon() 缺少 onUtteranceCompleted() 的原因?

前段时间,我发现playEarcon() 永远不会产生 onUtteranceCompleted().

当时,我只是将“在合成话语时调用”的文档解释为onUtteranceCompleted()不适用于耳控,因为耳控并不是 TTS 合成的真正结果。

但是再次查看 Android 的源代码,我根本找不到可以证明我的解释合理的解释。

关于我的测试夹具的一些事实:

  1. onUtteranceCompleted()总是在 earcon 之前到达话语 ID。该话语是普通的 TTS 话语,而不是耳标。
  2. 之后的earcon确实发挥了作用(即完全符合预期)。
  3. onUtteranceCompleted()因为那个耳标永远不会出现。这是非常一致且可重现的行为。

深入研究 TtsService 源代码,似乎只有 2 种方法会影响 的到达(或不存在)onUtteranceCompleted()

  1. TtsService.processSpeechQueue()
  2. TtsService.onCompletion()

如果您检查该代码,您将看到第三个候选者 TtsService.getSoundResource()被排除在外(因为我的earcon 缺少 onUtteranceComplete 负责),因为上面的事实#2:earcon 总是播放,因此getSoundResource()不可能返回空值。

使用相同的逻辑,也可以排除第一个候选者 TtsService.processSpeechQueue() ,因为相同的事实 #2:earcon 始终播放,因此始终执行以下 2 个关键语句:

所以,我们只剩下第二个候选者,TtsService.onCompletion(),作为为什么 aplayEarcon() 从不产生 onUtteranceCompleted()的可能解释:

在那里,只有 2 个条件无法产生dispatchUtteranceCompletedCallback()

  1. currentSpeechItemCopy == null
  2. utteranceId.length() == 0

但我确信可以排除条件 #2,因为我记录了所有 utteranceIds 并且耳标肯定存在。

此外,检查整个系统日志:

丢失onUtteranceCompleted()可能是dispatchUtteranceCompletedCallback()没有被调用的结果,但也可能是mCallbacksMap.get(packageName)返回 null 的结果。

所以,我们再次留下了两种可能性,这两种可能性对我来说都没有多大意义:

  1. 在调用 earcon 的onCompletion()时,earcon 的mCurrentSpeechItem值为空。但是为什么?
  2. mCallbacksMap为空。它是什么,它什么时候被填充?

解决这个谜团的任何建议或其他解释?

0 投票
2 回答
919 浏览

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 无论如何都不会被解雇

0 投票
1 回答
116 浏览

android - 当 TextToSpeech 动作完成时实现振动

我正在开发一个项目,该项目需要在 TextToSpeech 函数完成消息时通过振动发出警报。我已经实现了 TextToSpeech 函数,并且知道如何创建振动,但我不确定在哪里编写振动代码。此外,我遇到的关于如何实现 OnUtteranceCompleted 方法的示例让我感到非常困惑。谁能帮我把 OnUtteranceCompleted 函数放在一起,以及在哪里插入振动代码?这是我的代码:

公共类 TypeNewMessageActivity 扩展 Activity 实现 TextToSpeech.OnInitListener{

0 投票
0 回答
68 浏览

android - onUtteranceCompleted 方法中的意图不起作用

我正在尝试实现在 TextToSpeech 功能完成后将用户带回主屏幕的意图,但它不起作用,我不知道为什么。这是我的代码:

0 投票
1 回答
74 浏览

java - onUtteranceCompleted 不允许 PhoneCallListener

出于某种原因,我无法从 onutteranceCompleted 调用包含 PhoneCallListener 的方法。没有错误消息,它似乎只是停止执行脚本。我添加了一些日志,它通过 PhoneCallListener 进入 setUpPhone 中的“这里”日志。如果没有 PhoneCallListener,它将进入最终日志“电话设置”。这是我如何实现它的示例代码。

0 投票
2 回答
1100 浏览

android - TextToSpeech OnUtteranceCompletedListener 导致延迟

我需要 TextToSpeech 引擎一个接一个地说出我的话,我试图抓住一个单词的结束来开始说下一个单词。但OnUtteranceCompletedListener造成发言有些延迟。所以我的问题是,我该如何解决这个问题或更好地实施 OnUtteranceCompletedListener