gpt4 book ai didi

android - 从广播接收器或服务启动 Android TTS

转载 作者:行者123 更新时间:2023-11-29 14:20:12 25 4
gpt4 key购买 nike

我正在尝试让 TTS 在后台运行。但是,我从来没有听到任何声音。我有一个启动服务的广播接收器。我把我的 TTS 代码放在这两个中,但它从不说话。我知道正在调用该方法(我在其上放置了一个断点),但它仍然不起作用。

这是我的日志,但它似乎不包含有关 TTS 服务的任何内容。

10-04 22:45:30.663: WARN/InputManagerService(209): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@4423df40
10-04 22:45:37.363: INFO/PollingManager(449): calculateShortestInterval(): shortest interval is 540000
10-04 22:45:37.413: INFO/TLSStateManager(449): org.apache.harmony.nio.internal.SocketChannelImpl@4400ece0: Wrote out 29 bytes of data with 0 bytes remaining.
10-04 22:45:38.043: ERROR/IMAPEmailService(480): Can't create default IMAP system folder Trash. Please reconfigure the folder names.
10-04 22:45:40.123: ERROR/EONS(303): EF_PNN: No short Name
10-04 22:45:41.543: ERROR/WMSTS(171): Month is invalid: 0
10-04 22:45:42.043: WARN/AudioFlinger(172): write blocked for 212 msecs, 24 delayed writes, thread 0xb998

提前谢谢大家!

最佳答案

查看您的 TTS 代码将有助于人们更轻松地为您提供帮助。由于我已经在 BroadcastReceiver 中使用了 TTS,下面是一个从我的代码中删减的示例。

public static class TTS extends Service implements TextToSpeech.OnInitListener, OnUtteranceCompletedListener {
private TextToSpeech mTts;
private String spokenText;

@Override
public void onCreate() {
mTts = new TextToSpeech(this, this);
// This is a good place to set spokenText
}

@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
int result = mTts.setLanguage(Locale.US);
if (result != TextToSpeech.LANG_MISSING_DATA && result != TextToSpeech.LANG_NOT_SUPPORTED) {
mTts.speak(spokenText, TextToSpeech.QUEUE_FLUSH, null);
}
}
}

@Override
public void onUtteranceCompleted(String uttId) {
stopSelf();
}

@Override
public void onDestroy() {
if (mTts != null) {
mTts.stop();
mTts.shutdown();
}
super.onDestroy();
}

@Override
public IBinder onBind(Intent arg0) {
return null;
}
}

在 BroadcastReceiver 中您希望它说话的位置启动 TTS 服务:

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

我希望这对提问者有帮助(我相信他现在已经开始工作了)。

关于android - 从广播接收器或服务启动 Android TTS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3860711/

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