Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 我想阻止我的音乐播放器应用程序每次应用程序启动时扫描目录中的音频文件.我怎样才能做到这一点?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想阻止我的音乐播放器应用程序在每次应用程序启动时扫描目录中的音频文件.我怎样才能做到这一点?

我一直在使用以下代码来扫描音频文件.

public void getSongList() {

  ContentResolver contentResolver=getContentResolver();
  Uri musicUri=android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
  cursor musiccursor = contentResolver.query(musicUri,null,null);
  if(musiccursor!=null && musiccursor.moveToFirst()) {
    //get columns
    int titlecolumn = musiccursor.getcolumnIndex
                (android.provider.MediaStore.Audio.Media.titlE);
    int idcolumn = musiccursor.getcolumnIndex
                (android.provider.MediaStore.Audio.Media._ID);
    int artistcolumn = musiccursor.getcolumnIndex
                (android.provider.MediaStore.Audio.Media.ARTIST);

    int albumIDcolumn = musiccursor.getcolumnIndex(MediaStore.Audio.Media.ALBUM_ID);

    //add songs to list
    do {
       long thisId = musiccursor.getLong(idcolumn);
       String thistitle = musiccursor.getString(titlecolumn);
       String thisArtist = musiccursor.getString(artistcolumn);
       long thisAlbumID=musiccursor.getLong(albumIDcolumn);
       Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
       Bitmap albumArtBitMap=null;
       Uri albumArtUri = ContentUris.withAppendedId(sArtworkUri,thisAlbumID);
       try {
         albumArtBitMap = MediaStore.Images.Media.getBitmap(this.getContentResolver(),albumArtUri);
         Matrix m = new Matrix();
         m.setRectToRect(new RectF(0,albumArtBitMap.getWidth(),albumArtBitMap.getHeight()),new RectF(0,300,300),Matrix.ScaleToFit.CENTER);
         albumArtBitMap = Bitmap.createBitmap(albumArtBitMap,albumArtBitMap.getHeight(),m,truE);
       } catch (IOException E) {
         e.printStackTrace();
       }
       songList.add(new Song(thisId,thistitle,thisArtist,albumArtBitMap));
    }
    while (musiccursor.moveToNext());
  }
}

我希望应用程序只在有新文件时进行扫描.因为如果我每次都扫描整张SD卡,那么启动应用程序需要花费太多时间.请帮帮我

解决方法

无需将所有歌曲保留在本地应用列表中.

要@L_674_11@mp3list,您可以使用带限制的内容提供者光标列表适配器查询(逐页滚动查询)

要直接搜索使用COntentprovider查询方法.

在本数据库上保留一个指向mp3 uri的播放列表.

链接可能会帮助您:
How to update listview whose data was queried from database through SimpleCursorAdapter?

大佬总结

以上是大佬教程为你收集整理的android – 我想阻止我的音乐播放器应用程序每次应用程序启动时扫描目录中的音频文件.我怎样才能做到这一点?全部内容,希望文章能够帮你解决android – 我想阻止我的音乐播放器应用程序每次应用程序启动时扫描目录中的音频文件.我怎样才能做到这一点?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。