1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Keine_Angabe, 11.03.2012 #1
    Keine_Angabe

    Keine_Angabe Threadstarter Android-Hilfe.de Mitglied

    Hallo,
    ich bin noch ein Anfänger in Sachen Android App-Entwicklung und habe grade versucht meine erste kleine App zu erstellen. Diese ist sehr spartanisch und soll nur einen Text ausgeben. Doch irgendwie klappt dies nicht so ganz. Die App wird zwar auf dem Smartphone gestartet, doch steht dann dort nur der Titel der App und "Hello World, StartActivity!". Eine Stimme höre ich nicht. Kann vielleicht jemand von euch mal über meinen Code schauen?

    Code:
    package de.android.saghallo;
    
    import java.util.Locale;
    import android.app.Activity;
    import android.os.Bundle;
    import android.speech.tts.TextToSpeech;
    import android.speech.tts.TextToSpeech.OnInitListener;
    
    public class StartActivity extends Activity implements OnInitListener {
       
        private TextToSpeech tts;
        
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);  
            tts = new TextToSpeech(this, this);
        }
        
        @Override
        public void onInit(int arg0) {
            tts.setLanguage(Locale.GERMANY);
            tts.speak("Hallo Android!", TextToSpeech.QUEUE_FLUSH, null);
        }
    }
    Achja, habe die Android-Version 2.3.4 und in Eclipse habe ich beim Erstellen des Projekts 2.3.3 eingetragen.

    Vielen Dank
     
  2. swordi, 11.03.2012 #2
    swordi

    swordi Gewerbliches Mitglied

    schau mal in den logcat - da findest vielleicht was hilfreiches
     
  3. Keine_Angabe, 11.03.2012 #3
    Keine_Angabe

    Keine_Angabe Threadstarter Android-Hilfe.de Mitglied

    Nun ja, da steht sehr viel in Rot^^ Aber das baut sich denke ich alles aufeinander auf.
    Der erste Eintrag lautet:
    Code:
    Activity de.android.saghallo.StartActivity has leaked ServiceConnection android.speech.tts.TextToSpeech$1@40520cc0 that was originally bound here
    Wobei de.android.saghallo mein Package und StartActivity die Klasse ist.

    Hier mal der komplette Log:
    Code:
    03-11 23:10:15.989: E/ActivityThread(16226): Activity de.android.saghallo.StartActivity has leaked ServiceConnection android.speech.tts.TextToSpeech$1@40520cc0 that was originally bound here
    03-11 23:10:15.989: E/ActivityThread(16226): android.app.ServiceConnectionLeaked: Activity de.android.saghallo.StartActivity has leaked ServiceConnection android.speech.tts.TextToSpeech$1@40520cc0 that was originally bound here
    03-11 23:10:15.989: E/ActivityThread(16226):     at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:938)
    03-11 23:10:15.989: E/ActivityThread(16226):     at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:833)
    03-11 23:10:15.989: E/ActivityThread(16226):     at android.app.ContextImpl.bindService(ContextImpl.java:936)
    03-11 23:10:15.989: E/ActivityThread(16226):     at android.content.ContextWrapper.bindService(ContextWrapper.java:347)
    03-11 23:10:15.989: E/ActivityThread(16226):     at android.speech.tts.TextToSpeech.initTts(TextToSpeech.java:467)
    03-11 23:10:15.989: E/ActivityThread(16226):     at android.speech.tts.TextToSpeech.<init>(TextToSpeech.java:433)
    03-11 23:10:15.989: E/ActivityThread(16226):     at de.android.saghallo.StartActivity.onCreate(StartActivity.java:18)
    03-11 23:10:15.989: E/ActivityThread(16226):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    03-11 23:10:15.989: E/ActivityThread(16226):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
    03-11 23:10:15.989: E/ActivityThread(16226):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
    03-11 23:10:15.989: E/ActivityThread(16226):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
    03-11 23:10:15.989: E/ActivityThread(16226):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
    03-11 23:10:15.989: E/ActivityThread(16226):     at android.os.Handler.dispatchMessage(Handler.java:99)
    03-11 23:10:15.989: E/ActivityThread(16226):     at android.os.Looper.loop(Looper.java:130)
    03-11 23:10:15.989: E/ActivityThread(16226):     at android.app.ActivityThread.main(ActivityThread.java:3691)
    03-11 23:10:15.989: E/ActivityThread(16226):     at java.lang.reflect.Method.invokeNative(Native Method)
    03-11 23:10:15.989: E/ActivityThread(16226):     at java.lang.reflect.Method.invoke(Method.java:507)
    03-11 23:10:15.989: E/ActivityThread(16226):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
    03-11 23:10:15.989: E/ActivityThread(16226):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
    03-11 23:10:15.989: E/ActivityThread(16226):     at dalvik.system.NativeStart.main(Native Method)
    
    Wäre für jeden Hinweis dankbar :)
     
  4. Sentence, 12.03.2012 #4
    Sentence

    Sentence Erfahrener Benutzer

  5. Keine_Angabe, 12.03.2012 #5
    Keine_Angabe

    Keine_Angabe Threadstarter Android-Hilfe.de Mitglied

    Vielen Dank.
    Heute funktioniert es aufeinmal, obwohl ich nichts am Code geändert habe. Bekomme aber trotzdem noch die selben roten Fehlermeldungen ;)
     
  6. Sentence, 12.03.2012 #6
    Sentence

    Sentence Erfahrener Benutzer

    Moin,
    vermutlich meckert er, weil du den speicher nicht wieder freigibts.
    Dazu solltest du einen OnUtteranceCompletedListener mitgeben. Der wird aufgerufen, nachdem der Satz gesprochen wurde um den Speicher freizugeben.

    Lass die Acitivity einen OnUtteranceCompletedListener implementieren. Im onInit dann tts.setOnUtteranceCompletedListener(this);

    und dann
    @Override
    public void onUtteranceCompleted(String utteranceId) {
    tts.shutdown();
    }

    tts.speak solltest du auch nicht ins onInit packen, sondern in eine andere Methode, zb. nach einem klick auf einen Button oder dergleichen.

    MfG
     
  7. Keine_Angabe, 12.03.2012 #7
    Keine_Angabe

    Keine_Angabe Threadstarter Android-Hilfe.de Mitglied

    Vielen Dank für den Tipp, werd es später mal ausprobieren.
    Ich hatte auch noch vor, einen Button und ein Textfeld zu implementieren, taste mich also langsam vor ;)

    Grüße
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] Bild per Intent an ListView übergeben und anzeigen Android App Entwicklung 13.08.2017
[ERLEDIGT] Android Studio Erste App-Programmierung Android App Entwicklung 02.08.2017
[NON-DEV] ADB -Nach Tutorial zur Speichererweiterung - Installation von Apps schlägt fehl Android App Entwicklung 24.06.2017
[ERLEDIGT] Hilfe bei Fehler in Quellcode benötigt Android App Entwicklung 23.06.2017
[GESCHLOSSEN] APK Zigalign Fehler Playstore Android App Entwicklung 13.06.2017
[GELÖST] Nach AS Update Fehler Error running app: Default Activity not found Android App Entwicklung 16.05.2017
Android SQLLite Fehler Android App Entwicklung 13.02.2017
Warum erhalte ich ein "IllegalArgumentException" zur Laufzeit ? Android App Entwicklung 02.02.2017
Verbindung zu FTP Server schlägt fehl Android App Entwicklung 10.01.2017
Google Play Services Fehler Android App Entwicklung 19.12.2016

Users found this page by searching for:

  1. here text-to-speech funktioniert nicht

Du betrachtest das Thema "TextToSpeech, wo ist Fehler?" im Forum "Android App Entwicklung",