簡體   English   中英

在Android應用程序中讀取mp3標簽

[英]Read mp3 tags in android application

我將jid3lib用於Java。 當我在存儲在計算機中的文件上使用該庫時,它的工作原理很好,但是當我嘗試在模擬器的sdcard上讀取文件的mp3標簽時,我得到了Exeption。

我使用以下代碼:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_activity);

    File musicPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC);

    File[] songs = musicPath.listFiles();

    for (int i=0; i < songs.length; i++){
        try {
            MP3File song = new MP3File(new File(songs[i].getPath()));
            Log.d("TEST", song.getID3v1Tag().getAlbum() );

        } catch (TagException e) {
            Log.d("TEST", "Tag Exception");
            e.printStackTrace();
        } catch (Exception e) {
            Log.d("TEST", "Exception");             
            e.printStackTrace();
        }

    }
}

我在sdcard中放入了2個mp3文件,但日志中仍然出現異常。 這可能是什么問題?

我在LogCat上收到以下錯誤:

java.io.FileNotFoundException: /mnt/sdcard/Music/song.mp3: open failed: EACCES (Permission denied)

但是,當我在DDMS的文件資源管理器中查找時,即使在使用循環來打印文件名的情況下,也可以看到該路徑下的文件。它顯示正確的名稱。

EACCES(權限被拒絕)

在清單文件中添加READ_EXTERNAL_STORAGE權限。

並且,也許也為WRITE_EXTERNAL_STORAGE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM