TTS spricht nicht von einem Dienst in der Erwägung, dass es es tut, von einer activity in android
Ich in der Lage gewesen zu laufen TTS aus einer Tätigkeit aber wenn ich versuche, führen Sie den gleichen code aus einem Dienst, es gab mir Nachricht, dass die TTS-engine wird initialisiert, aber nicht zu sprechen, nichts.
Hat jemand begegnet das gleiche Problem jederzeit?
public void onCreate() {
super.onCreate();
tts = new TextToSpeech(this, this //TextToSpeech.OnInitListener);
timer.scheduleAtFixedRate( new TimerTask()
{ //In timer
public void run() {
//On some condition
tts.speak("thank you", TextToSpeech.QUEUE_ADD, null);
}, 0, 60000);
}
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
Toast.makeText(BackgroundProcessforTimecheck.this,
"Text-To-Speech engine is initialized", Toast.LENGTH_LONG).show();
}
else if (status == TextToSpeech.ERROR) {
Toast.makeText(BackgroundProcessforTimecheck.this,
"Error occurred while initializing Text-To-Speech engine", Toast.LENGTH_LONG).show();
}
}
- Können Sie nach dem code-snippet verwendet in Service.?
- Bitte überprüfen Sie meine editierte Frage.
- Poste die logs mit Fehlern
- welche android-version verwendest du?
- tts.speak("danke", TextToSpeech.QUEUE_ADD, null); - hinzufügen onInit (...) - Methode. Vielleicht TTS hat noch nicht begonnen
- In init, es spricht vielen Dank. Aber von innen meine timer-task nicht zu sprechen.
- Sehe kein problem mit dem timer, Haben Sie, warten Sie 60 Sekunden, um zu bestätigen, tts funktioniert nicht.?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das gleiche problem und löste es auf diese Weise:
Instanziieren TextToSpeech-Objekt in einer separaten Klasse (in meinem Fall habe ich darüber hinaus verwenden Sie eine Fabrik, um zu überprüfen, ob die Android-Version ist mindestens Donut) und wiederverwenden (siehe Methode init(Context context)). Bitte beachten Sie, dass die onInit(int status) ist weit davon entfernt, bereit, Sie zu entlassen.
Service:
Fabrik:
Umsetzung:
Hast du installiert, wird die TTS-engine auf Ihrem Gerät. Auch ich Stand vor dem gleichen problem mit der gleichen Meldung. Aber später fand ich, dass ich zur Installation der TTS-engine auf meinem echten Gerät auch und es ist erhältlich im play store.