我在我的课程中使用android tts只是说一条消息,例如:问题:服务连接泄漏

public class WorkTimerNotification extends ActionBarActivity implements TextToSpeech.OnInitListener {

   TextToSpeech tts;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_work_timer_notification);

    //line1
    tts = new TextToSpeech(this,this);



    @Override
public void onInit(int status) {
    //line2
    tts.setLanguage(Locale.US);

    //line3
    tts.speak("Text to say aloud", TextToSpeech.QUEUE_ADD, null);
    tts.shutdown();

}


 @Override
protected void onDestroy() {
    super.onDestroy();
    tts.shutdown();
}

第1行,我使用以下logcat泄漏了serviceConnection:

 WorkTimerNotification has leaked ServiceConnection android.speech.tts.TextToSpeech$Connection@41aee290 that was originally bound here
android.app.ServiceConnectionLeaked

我按此按钮,由于某种原因,它仍然返回哈希表。 我不知道为什么...

 int speak(CharSequence, int, Bundle, String)

我也尝试过:但是它也不起作用。

  @Override
protected void onDestroy() {
    //Close the Text to Speech Library
    if(tts!= null) {

        tts.stop();
        ttsRest.shutdown();

        Log.d(TAG, "TTS Destroyed");
    }
    super.onDestroy();
}

===============>>#1 票数:2 已采纳

你不能打电话speak ,直到之后onInit被调用,将您speak的代码onInit

public class WorkTimerNotification extends ActionBarActivity implements TextToSpeech.OnInitListener {

TextToSpeech tts;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_work_timer_notification);

//line1



}

@Override
public void onInit(int status) {
//line2
tts.setLanguage(Locale.US);

//line3
tts.speak("Text to say aloud", TextToSpeech.QUEUE_ADD, null);

}



@Override
protected void onStart()
{
    super.onStart();

    tts = new TextToSpeech(this,this);
}

@Override
protected void onStop()
{
    super.onStop();
    tts.shutdown();
}

  ask by Bryn translate from so

未解决问题?本站智能推荐:

1回复

来自代码本身的Android TTS-不是用户输入

我想使用TTS服务说出我在代码本身中编写的文本消息,例如: 我从用户输入中看到了TTS,但是我不希望这样。 我已经检查了这些链接的方式: http://viralpatel.net/blogs/android-speech-to-text-api/ http://www
1回复

在Android服务中触发语音识别

我一直在尝试找到一种在服务(在后台运行)中实现SpeechRecognizer API的方法,这样,当满足条件时,它将打开语音识别器,而无需进入应用程序。 我的问题是,这在本地是否可行? 如果是这样,它将如何进行?
2回复

语音识别意图在TTS结束讲话之前开始

我已经开发了一个Android应用程序,该应用程序使用tts(文本到语音)发出命令,然后使用语音识别意图听取用户的语音答复。 显然,只有当tts完成讲话时,语音识别的意图才会被抛出。 有时,多数情况下,当我将一项活动从另一项切换到另一项时,或者当我通过按钮激活该过程时,语音识别器的意图会
1回复

Java TTS(文本到语音)speech.properties文件

我正在使用PC,这意味着它应该识别我的声音,提供反馈或做事,反馈应该是计算机生成的声音。 我知道Java内部有一种方法可以实现这一点,例如使用javax.speech。 这种声音质量不是很好,但它并不需要各种各样的库,它应该易于使用。 我目前有这个原型代码: 来自: 将文本转换为语
1回复

语音互动应用[Android]

我想知道您如何制作像Utter或Siri这样的应用程序。 不那么复杂,但是可以让我从用户那里获得声音输入并以更新的UI和声音确认进行响应。 例如:我花了多少钱买手机? 该应用将回答“ Nexus 5还是Samsung S4?” (假设它具有我所有智能手机的列表)在我回答之后,它将在界面中
2回复

Android文字转语音嵌入式应用程序

关于使用Android + TTS,我有几个基本问​​题,但似乎无法通过搜索得到确切答案: 这是一种嵌入式商业产品,可为可变数据提供语音通知。 除了单个按钮外,没有其他UI。 在这个阶段,我只是试图决定是要使用Android还是使用市场上其他TTS产品之一。 许可问题或费用是
1回复

Android(RecognitionListener)实时语音转文本预览

我在应用程序中使用识别侦听器界面将语音转换为文本。 但是,我想在讲话后立即显示语音转换后的文本。 如果我说4-5个字,则第一个字应在我说完后立即显示。 总之像谷歌助手。 我目前正在覆盖它的onresults方法,并在调用此方法时显示结果。 有什么方法可以一次检测一个单词并一一显示吗?
1回复

如何在Android中检索存储在外部USB设备中的数据?

我在android中做一个文本到语音转换的项目。如何检索存储在外部存储设备中的语音文件? 我首先尝试了一张图片,这是我的代码...并且它不起作用..没有错误显示..但什么也没显示。这是我的代码
2回复

Android SpeechRecognizer在第二次监听时失败

我遇到一个问题,SpeechRecognizer将正确收听,并且当我下一次转到SpeechRecognizer.ERROR_NO_MATCH时,识别器将立即无法识别SpeechRecognizer.ERROR_NO_MATCH。 我第三次听,将再次工作。 有任何想法吗? 下面的代码:同样,
1回复

TTS在wp8.1中安装的声音

我正在尝试实现某种翻译应用程序。 我考虑使用TTS来“说出”翻译后的文本,但是当我尝试获得安装的声音时,我只有2个(美国男性和女性)。 我在MSDN中看到: “只有安装在系统上的Microsoft签名语音才能用于生成语音。如果未指定语言,则会加载与用户在“语言”控制面板中选择的