- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 speakText() 方法如下
public void speakText(){
String toSpeak = "Testing 1 2 3";
Toast.makeText(getApplicationContext(), toSpeak,
Toast.LENGTH_SHORT).show();
mTts.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);
}
它在按下按钮时工作正常(即从 onClick 函数调用此方法)。但是,当我如下所示在 onActivityResult() 中调用此方法时,我什么也听不到
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_running_ui);
...
speakButton = (Button) findViewById(R.id.speakButton);
PackageManager pm = getPackageManager();
List<ResolveInfo> activities = pm.queryIntentActivities(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
if(activities.size()==0){
speakButton.setEnabled(false);
Toast.makeText(getApplicationContext(), "Speech Recognizer Not Found", 1000).show();
}
speakButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
startVoiceRecognitionActivity();
}
});
commandText = (TextView) findViewById(R.id.command);
}
public void onActivityResult(int requestCode, int resultCode, Intent data){
switch(requestCode){
case MY_DATA_CHECK_CODE:
if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
// success, create the TTS instance
mTts = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
@Override
public void onInit(int arg0) {
// TODO Auto-generated method stub
mTts.setLanguage(Locale.UK);
}
});
} else {
// missing data, install it
Intent installIntent = new Intent();
installIntent.setAction(
TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
}
case VOICE_RECOGNITION_REQUEST_CODE:
if (resultCode == RESULT_OK){
ArrayList<String> matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
commandText.setText(matches.get(0)); // get the first matching text
speakText();
}
}
}
@Override
public void onPause(){
if(mTts != null){
mTts.stop();
mTts.shutdown();
}
super.onPause();
}
我想做的是让 android 手机在语音到文本转换后说出一些东西。我确定程序进入了 VOIC_RECOGNITION_REQUEST_CODE 分支,因为它使用 commandText.setText(matches.get(0)); 显示了文本;行。
我不知道为什么 textToSpeech 在按下按钮时起作用,但在 onActivityResult 方法中却不起作用。
最佳答案
您在 onPause 中关闭了 TextToSpeech,因此 mTts 不再绑定(bind)到文本到语音引擎。如果您所做的只是显示识别器对话框,则需要将 onPause() 中的代码移动到 onStop() 中。
当显示语音识别器对话框时,将调用您的 Activity onPause(),但不会调用 onStop(),除非您的 Activity 不再可见。您还应该在 onStart() 中再次实例化文本到语音。
关于Android TextToSpeech.speak 在 onActivityResult 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22702987/
我有一个在for循环中涉及System.speech程序集的代码,但是从我所看到的来看,抛出给我的错误非常奇怪。 我有一个代码,该代码生成10个随机字母和/或数字,然后将它们存储在一个数组中,该数组将
我有以下正则表达式: /(?<=\w\sspeaks\s)(?!,|\s|\.)([\w]+)/gmi 字符串是: Example Person speaks ExampleLanguage1, Ex
我正在使用一个简单的代码来使用文本转语音: package ch.yourclick.kitt.fragments; import android.os.Bundle; import androidx
我尝试用 javascript 实现一个小网页,允许从两个 mp3 之间的文本播放 specchsynthesis 部分。 至于无论出于何种原因,口语部分的 onend 语句不起作用,我想创建一个递归
我最近一直在玩 SPEAK 对话。到目前为止,我喜欢它,但偶然发现了一个问题。我在 url 参数中传递了一个 itemID,我想在列表控件中显示该项目的子项。 我的方法是创建一个 SearchData
我目前正在使用 speak.js:http://www.syntensity.com/static/espeak.html 显然脚本只允许执行一个语音命令,如果我这样做的话: speak("1");
我写了这个应用程序,实际上我想提供说话功能。但是在添加这个之后,要说的文字就不起作用了。我在 speech.speak(text, TextToSpeech.QUEUE_FLUSH, null); 处
我正在学习使用 eclipse 和 ADT 插件在 Android 上开发应用。 根据android SDK 文档中的这篇文章http://androidappdocs.appspot.com/res
我们将 speak.js 库用于文本到语音的目的。我们需要在这方面实现本地化的女声。我们将其说话功能称为 meSpeak.speak('Hello Thomas"); 但我们无法使其以女声运行。我们观
我正在尝试构建 Super Mario Bros. 第一关的克隆,但我在让我的类(class)相互“交谈”时遇到了一些麻烦。截至目前,我有两个 Controller 类(键盘、游戏 handle )和
我迷路了。我希望能够调节说话音量。无论我做什么,我都无法增加它的音量。如何将其设置为与 Android 设置中的声音一样大(如下所示)? 系统设置 -> 语音输入和输出 -> 文字转语音设置 -> 听
我有一个单页网站,想实现以下目标: 后退按钮就像普通网站一样工作 而不是说, www.mysite.com/index.php?p=#this-is-a-great-product 我想要这个网址 w
我有一个使用 Microsoft.Speech for TTS 的应用程序。如果流在完成之前被 d/c'ed,我的 TTS 就会出现问题。 public void SpeakTest() { Pr
我找了又找,没有结果。至少从我发现的情况来看,没有关于此 API 的明确文档。我想创建一个自定义对象,它可以保存此函数的属性并能够运行它 console.log(window.speechSynthe
我在提交 Android Auto 应用时收到以下反馈: Your app does not support all of the required voice commands. Volume do
我正在尝试编写我的第一个简单的 Sitecore Speak 组件。 没什么特别的,我只需要开始。因此,我在 Visual Studio 中创建了 Speak 组件,并在 Sitecore 中创建了指
public boolean playing=false; private void prepareTTSEngine() { try { synthesi
我自己找不到问题!感谢您的帮助,当我将空结构传递给 getPets() 这是一个接口(interface)接收器时,我期待结构返回的空引用,但我得到了这个错误 **dog 没有实现宠物(说话的类型错误
我正在尝试复制此 video series 中显示的内容通过雅各布: 除自定义 Javascript 部分外,我能够使所有内容正常工作。 define(["sitecore"], function (
这就是我想要的: var elite = document.getElementById("elite"), leet = document.getElementById("leet"), a
我是一名优秀的程序员,十分优秀!