广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    android获取音乐文件的内置专辑图片实现思路及代码

    2018-04-09 07:42:29 次阅读 稿源:互联网
    广告
    代码和注释如下:
    代码如下:

    private Cursor getCursor(String filePath) {
    String path = null;
    Cursor c = getContentResolver().query(
    MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null,
    MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
    // System.out.println(c.getString(c.getColumnIndex("_data")));
    if (c.moveToFirst()) {
    do {
    // 通过Cursor 获取路径,如果路径相同则break;
    System.out.println("////////"+filePath);
    path = c.getString(c
    .getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));
    System.out.println("?????????"+path);
    // 查找到相同的路径则返回,此时cursorPosition 便是指向路径所指向的Cursor 便可以返回了
    if (path.equals(filePath)) {
    // System.out.println("audioPath = " + path);
    // System.out.println("filePath = " + filePath);
    // cursorPosition = c.getPosition();
    break;
    }
    } while (c.moveToNext());
    }
    // 这两个没有什么作用,调试的时候用
    // String audioPath = c.getString(c
    // .getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));
    //
    // System.out.println("audioPath = " + audioPath);
    return c;
    }
    private String getAlbumArt(int album_id) {
    String mUriAlbums = "content://media/external/audio/albums";
    String[] projection = new String[] { "album_art" };
    Cursor cur = this.getContentResolver().query(
    Uri.parse(mUriAlbums + "/" + Integer.toString(album_id)),
    projection, null, null, null);
    String album_art = null;
    if (cur.getCount() > 0 && cur.getColumnCount() > 0) {
    cur.moveToNext();
    album_art = cur.getString(0);
    }
    cur.close();
    cur = null;
    return album_art;
    }
    private void getImage(){
    Cursor currentCursor = getCursor("/mnt/sdcard/"+mp3Info);
    int album_id = currentCursor.getInt(currentCursor
    .getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM_ID));
    String albumArt = getAlbumArt(album_id);
    Bitmap bm = null;
    if (albumArt == null) {
    mImageView.setBackgroundResource(R.drawable.staring);
    } else {
    bm = BitmapFactory.decodeFile(albumArt);
    BitmapDrawable bmpDraw = new BitmapDrawable(bm);
    mImageView.setImageDrawable(bmpDraw);
    }
    }

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告