1. atoml, 25.05.2010 #1
    atoml

    atoml Threadstarter Junior Mitglied

    Hi,

    Ich wollt Titel etc. über ID3 auslesen.

    Ich wollte sie über JAudioTagger ausleses.

    Code:
    package com.android.id3;
    
    import java.io.File;
    
    import org.jaudiotagger.audio.AudioFile;
    import org.jaudiotagger.audio.AudioFileIO;
    import org.jaudiotagger.audio.AudioHeader;
    import org.jaudiotagger.tag.Tag;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.EditText;
    
    public class Main extends Activity {
        /** Called when the activity is first created. */
    
        String song, artist, album; // Song, Artist, Album
        String datei = "/sdcard/testmusic/aaa.mp3";
    
        EditText Text;
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    
            File testFile = new File(datei);
            AudioFile audioFile = AudioFileIO.read(new File("/sdcard/testmusic/aaa.mp3"));
            Tag tag = audioFile.getTag();
            AudioHeader header = audioFile.getAudioHeader();
    
            String Songlänge = "" + header.getTrackLength();
    
            Text = (EditText) this.findViewById(R.id.EditText01);
            Text.setText("Songlänge : ");
    
        }
    }
    
    
    Leider bekomm ich bei "AudioFile audioFile = AudioFileIO.read(new File("/sdcard/testmusic/aaa.mp3"));" immer einen Fehler, kann also leider nicht den Titelnamen o.ä. auslesen.

    Könnte mir jemand helfen, mit Android hab ich zZ leider noch sehr viel Probleme :D
     
  2. mago, 25.05.2010 #2
    mago

    mago Junior Mitglied

    Welchen Fehler? Ein Blick ins Log wird es Dir verraten.
     
  3. atoml, 26.05.2010 #3
    atoml

    atoml Threadstarter Junior Mitglied

    [​IMG]
     
    Zuletzt bearbeitet: 26.05.2010
  4. the_alien, 26.05.2010 #4
    the_alien

    the_alien Android-Lexikon

    Log! Findeste unter DDMS in Eclipse oder auf der Konsole "adb logcat".
    Da gibts den ganzen Stacktrace!
     
  5. FelixL, 26.05.2010 #5
    FelixL

    FelixL Ehrenmitglied

    Ich denke er meinte Logcat, mach dich mal darüber schlau. Bringt dir immer viel, wenn du z.B. die Berechtigung zum lesen der SD-Karte vergessen hast, wird er dir das dort sagen.
    Hab leider gerade keine Schritt-für-Schritt-Anleitung zu Logcat hier, aber du findest vielleicht hier im Forum oder über Google was dazu.

    Kann sein das ich was vergessen habe, aber es müsste so gehen:
    Handy über USB anschließen, debugging in den Einstellungen aktivieren. Alternativ Emulator benutzen, ich benutz aber halt immer mein Hero :p.
    In der Eingabeaufforderung im SDK-Verzeichnis in den Unterordner /tools navigieren.
    Da dann adb logcat oder, besser noch, ddms eingeben.
    ddms beinhaltet logcat (im unteren Bereich) und ein paar weitere praktische Funktionen.
    Dann die App starten und den Fehler verursachen. Text lesen und nachdenken, wenn da nichts eindeutiges steht, hier den Text reinstellen.

    Edit: Langsamer, aber ausführlicher :p

    Zusatz:
    http://developer.android.com/guide/developing/tools/ddms.html
     
    Zuletzt bearbeitet: 26.05.2010
  6. atoml, 26.05.2010 #6
    atoml

    atoml Threadstarter Junior Mitglied

    Ich kann das Programm wegen diesem Fehler garnicht starten...
     
  7. mago, 26.05.2010 #7
    mago

    mago Junior Mitglied

    ...und mit logcat kannst Du dann den gesamten Stacktrace sehen.

    Aber aus den Exceptions in Deinem Screenshot wird auch so schon klar, dass die Datei nicht gelesen werden kann. That's it.
    Es wird so sein, wie FelixL schon schrieb - deine Anwendung hat vermutlich nicht die Berechtigung von der SD-Karte zu lesen.
     
  8. MetBo, 26.05.2010 #8
    MetBo

    MetBo Fortgeschrittenes Mitglied

    schreibe in die androidmanifest.xml unter
    Code:
    </application>
    folgendes
    Code:
    <uses-permission android:name="android.permission-group.STORAGE" />
    Damit setzt du die Berechtigungen.

    Grüße
     
  9. FelixL, 26.05.2010 #9
    FelixL

    FelixL Ehrenmitglied

    Damit meinte ich dann in deinem Fall: die App versuchen zu starten ;)
    Halt einfach wie vorher auch einen Testlauf machen, ich kann das nicht noch "einfacher" formulieren ;)
     
  10. atoml, 26.05.2010 #10
    atoml

    atoml Threadstarter Junior Mitglied

    So siehts aus, wenn ich es starten will:

    [​IMG]




    Und so, wenn ich alles ab "AudioFile audioFile = AudioFileIO.read(new File("/sdcard/testmusic/aaa.mp3"));" auskommentiere.

    [​IMG]




    Hab bei beiden die Storage permission hinzugefüght
     
    Zuletzt bearbeitet: 26.05.2010
  11. FelixL, 26.05.2010 #11
    FelixL

    FelixL Ehrenmitglied

    Neben der Zeile mit dem Problem ist so eine Glühbirne mit rotem Kreuz. Da gibt dir Eclipse mehr Infos...hast du schon mal was mit Eclipse gemacht?

    Edit: Bin gerade in der Uni, sonst würde ich es auch mal in Eclipse eingeben.
    Naja, jedenfalls dachten wir alle, dass es ein Problem zur Laufzeit geben würde, nicht davor ;)
     
    Zuletzt bearbeitet: 26.05.2010
  12. atoml, 26.05.2010 #12
    atoml

    atoml Threadstarter Junior Mitglied

    Jop, er will nen try/catch Block machen...

    Ich hatte es schonmal so versucht...

    oh mein Gott, wie peinlich jetzt klappt es, danke nochmal für eure Hilfe.

    Code:
    
    package com.android.id3;
    
    import java.io.File;
    import java.io.IOException;
    
    import org.jaudiotagger.audio.AudioFile;
    import org.jaudiotagger.audio.AudioFileIO;
    import org.jaudiotagger.audio.AudioHeader;
    import org.jaudiotagger.audio.exceptions.CannotReadException;
    import org.jaudiotagger.audio.exceptions.InvalidAudioFrameException;
    import org.jaudiotagger.audio.exceptions.ReadOnlyFileException;
    import org.jaudiotagger.tag.Tag;
    import org.jaudiotagger.tag.TagException;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.EditText;
    
    public class Main extends Activity {
        /** Called when the activity is first created. */
    
        String song, artist, album; // Song, Artist, Album
        AudioFile audioFile;
    
        EditText Text;
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
        
            try {
                audioFile = AudioFileIO.read(new File("/sdcard/testmusic/aaa.mp3"));
            } catch (CannotReadException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (TagException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ReadOnlyFileException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (InvalidAudioFrameException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            Tag tag = audioFile.getTag();
            AudioHeader header = audioFile.getAudioHeader();
    
            String Titel = "" + tag.getFirstTitle();
    
            Text = (EditText) this.findViewById(R.id.EditText01);
            Text.setText("Titel : " + Titel);
    
        }
    }
    
    
    
    hat vorher bestimmt noch die permission gefehlt...
     
  13. Fr4gg0r, 26.05.2010 #13
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)


    Wenn ein Problem zur Laufzeit auftritt, so wird dieses nicht in Problems abgebildet, sondern stattdessen im Logcat.:)
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Hilfe bei Fehler in Quellcode benötigt Android App Entwicklung Freitag um 23:01 Uhr
[OFFEN] Android Spiel Android App Entwicklung Freitag um 09:34 Uhr
[OFFEN] Android Studio Ram voll nach 5h arbeit Android App Entwicklung 15.06.2017
[OFFEN] Android Studio - Code Style Android App Entwicklung 08.06.2017
[OFFEN] SharedPreferences und ViewPager, unique key Android App Entwicklung 06.06.2017
[OFFEN] Android Icon Pack dynamisch erstellen Android App Entwicklung 05.06.2017
[ERLEDIGT] Android 7 nougat merkwürdiges Verhalten URL HttpURLConnection %27 Android App Entwicklung 31.05.2017
[OFFEN] Android Studio - Apk-Generierung dauert sehr lange Android App Entwicklung 26.05.2017
[ERLEDIGT] Eine Klasse um das aufrufen anderer Intents zu regeln Android App Entwicklung 24.05.2017
[OFFEN] git-Problem in Android Studio (Windows) Android App Entwicklung 24.05.2017