android获取音乐文件的内置专辑图片

代码和注释如下:

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);
      }
     }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索string
, cursor
, null
, system
, 专辑图片
, mediastore
, android audio
, println
android获取路径
android 获取专辑封面、android 获取专辑图片、android 音乐专辑图片、android 音乐内置相片、android 获取本地音乐,以便于您获取更多的相关知识。

时间: 2024-10-26 05:48:41

android获取音乐文件的内置专辑图片的相关文章

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

代码和注释如下: 复制代码 代码如下: 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.printl

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

代码和注释如下: 复制代码 代码如下: 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.printl

Android获取assets文件夹中的数据并写入SD卡示例_Android

本文示例主要实现了Android获取assets文件夹中的数据并将其写入到SD卡中,该程序实现的步骤主要为:首先读取assets文件夹中的数据库,再将其写入到SD存储卡中. 完整示例代码如下: import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import android.content.Context; /*将assets文件

虚拟机-通过cursor 获取音乐文件返回空值

问题描述 通过cursor 获取音乐文件返回空值 通过文件名可以获取sdcard的音文件 而 Cursor cursor = context.getContentResolver().query( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER); 返回空 之前的虚拟机是没问题的,新建的虚拟机就出现这种情况了 解决方案 context有

Android获取assets文件夹中的数据并写入SD卡示例

本文示例主要实现了Android获取assets文件夹中的数据并将其写入到SD卡中,该程序实现的步骤主要为:首先读取assets文件夹中的数据库,再将其写入到SD存储卡中. 完整示例代码如下: import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import android.content.Context; /*将assets文件

Android中通过MediaStore获取音乐文件信息方法_Android

Android系统提供了MediaScanner,MediaProvider,MediaStore等接口,并且提供了一套数据库表格,通过Content Provider的方式提供给用户.当手机开机或者有SD卡插拔等事件发生时,系统将会自动扫描SD卡和手机内存上的媒体文件,如audio,video,图片等,将相应的信息放到定义好的数据库表格中.在这个程序中,我们不需要关心如何去扫描手机中的文件,只要了解如何查询和使用这些信息就可以了. MediaStore中定义了一系列的数据表格,通过Conten

Android中通过MediaStore获取音乐文件信息方法

Android系统提供了MediaScanner,MediaProvider,MediaStore等接口,并且提供了一套数据库表格,通过Content Provider的方式提供给用户.当手机开机或者有SD卡插拔等事件发生时,系统将会自动扫描SD卡和手机内存上的媒体文件,如audio,video,图片等,将相应的信息放到定义好的数据库表格中.在这个程序中,我们不需要关心如何去扫描手机中的文件,只要了解如何查询和使用这些信息就可以了. MediaStore中定义了一系列的数据表格,通过Conten

Android获取手机文件夹及文件列表的方法_Android

先看看效果图: package wuwang.tools.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Comparator; import

android 环信sdk有内置的保活手段吗?

问题描述 没有用环信的EaseUI类库,直接使用的sdk.app退出后就接收不到消息了,想问问环信sdk中有内置的保护手段开启守护进程吗 解决方案 没有的,退出程序就收不到消息了