2

MediaMetadataRetriever API で見たように、共通タグには定数があります。私のアプリでは、すべての mp3 タグを読みたいと思っています。これを行うために、jid3lib を使用します。Android (コンピューター上の MP3 ファイル) に接続せずにタグを読み取ろうとすると成功しましたが、エミュレーターで MP3 ファイルを読み取ろうとすると、アプリケーションがクラッシュしました。

いくつかの音楽ファイルをエミュレーターにプッシュし、これらのファイル名の読み取りに成功しましたが、アプリケーションがタグを取得しようとしたときにクラッシュしました。

マニフェストで宣言する必要がある Android のアクセス許可があるのだろうか? それとも、ローカル コンピューターと Android でのファイルの読み取りに違いがあるのでしょうか。同じロジックを使用して自分のコンピューターで MP3 ファイルを読み取り、それが機能するためです。

編集:読みやすくするために、以下のコメントからのコード

File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC); 
File[] songs = path.listFiles(); 
for (int i=0; i<songs.length; i++){ 
   try { 
      MusicFile song = new MusicFile(songs[i]); 
      Log.d("VanVan", song.getArtist()); 
   } catch (TagException e) { 
      e.printStackTrace(); 
   } catch (Exception e) { 
      e.printStackTrace(); 
   } 
}
4

0 に答える 0