gpt4 book ai didi

android - 完成 setOnUtteranceProgressListener 后启动服务?

转载 作者:行者123 更新时间:2023-11-29 01:17:27 27 4
gpt4 key购买 nike

我有一个问题,我想在 Text to speech 完成讲话后启动 android 服务。

这是我的代码

HashMap<String, String> myHashAlarm = new HashMap<String, String>();
myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_ALARM));
myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "SOME MESSAGE");
t1.speak(text, TextToSpeech.QUEUE_FLUSH, myHashAlarm);
t1.speak("I can speak anything",TextToSpeech.QUEUE_ADD, null);

@Override
public void onInit(int status) {
if (status != TextToSpeech.ERROR) {
t1.setLanguage(Locale.US);
t1.setOnUtteranceProgressListener(new UtteranceProgressListener() {
@Override
public void onDone(String utteranceId) {
// Log.d("MainActivity", "TTS finished");
//here i want to start my service
startService(new Intent(this, MyService.class));// but its not working

}

@Override
public void onError(String utteranceId) {
}

@Override
public void onStart(String utteranceId) {
}
});;
}
}

请帮帮我....

最佳答案

可以用标准方式启动服务,但是startService()需要上下文,如果您在 ProgressListener 中,那将是上下文。

你需要使用

context.startService(new Intent(context, MyService.class));

如果你从一个 Activity 中使用,你可以使用

MyActivity.this.startService(new Intent(MyActivity.this, MyService.class));

还有更多examples on this question .你当然可以create an intent and add extras to it , 在以这种方式使用它之前。

关于android - 完成 setOnUtteranceProgressListener 后启动服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38677133/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com