源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-11-05 11:15 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:android获取音乐文件的内置专辑图片实现思路及代码
代码和注释如下:
[u]复制代码[/u] 代码如下:
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); } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部