最近在做一个项目,其中涉及到音乐播放器。当用到Genres和Art album时花费了一些时间才搞定,今天把方法草草列出,以供自己以后忘记时查看,也希望可以帮助碰到同样问题的道友!!

一、Genres的获取

先获取audioId(这个都知道吧,就不再多说了)

public String getGenres(long audioId){
        Uri uri = Uri.parse("content://media/external/audio/media/" + audioId+ "/genres");
        Cursor c = mContentResolver.query(uri, new String[]{android.provider.MediaStore.Audio.GenresColumns.NAME}, null, null, null);
        if(c.moveToFirst()){
            String genre = c.getString(c.getColumnIndex(GenresColumns.NAME));
            c.close();
            return genre;
        }
        
        return null;
    }

二、Art album的获取

Art album的获取方法有两种:

方法一:获取albumId//每个专辑的Id ,返回值是专辑封面图片的路径

private String getAlbumArt(int albumid) {  
    String strAlbums = "content://media/external/audio/albums";  
    String[] projection = new String[] {android.provider.MediaStore.Audio.AlbumColumns.ALBUM_ART };  
    Cursor cur = this.getContentResolver().query(  
            Uri.parse(strAlbums + "/" + Integer.toString(albumid)),  
            projection, null, null, null);  
    String strPath = null;  
    if (cur.getCount() > 0 && cur.getColumnCount() > 0) {  
        cur.moveToNext();  
        strPath = cur.getString(0);  
    }  
    cur.close();  
    cur = null;  
    return strPath;  
}
方法二:获取audioId //注意此时获取的是每首歌曲的Id 返回值为专辑封面图片的Bitmap

public Bitmap getArtAlbum(long audioId){
        String str = "content://media/external/audio/media/" + audioId+ "/albumart";
        Uri uri = Uri.parse(str);
        ParcelFileDescriptor pfd = null;
        try {
            pfd = this.getContentResolver().openFileDescriptor(uri, "r");
        } catch (FileNotFoundException e) {
            return null;
        }
        Bitmap bm;
        if (pfd != null) {  
            FileDescriptor fd = pfd.getFileDescriptor();
            bm = BitmapFactory.decodeFileDescriptor(fd);
            return bm;
        }
        return null;
    }

android开发音乐播放器--Genres和Art album的获取相关推荐

  1. Xamarin.Android开发音乐播放器

    最近.Net开源着实让C#火了一把,好久就听说Mono for Android一直没静下心来看,上周末找来看看,确实不错,前台界面axml编写跟Java安卓开发毫无区别,后台用C#其实很多window ...

  2. Android开发----音乐播放器(界面设计)

    转眼也沦为"大四狗"的行列当中去,本来打算在暑假的时候找一个实习,结果学校临时安排了"暑期实训" 原本计划好的安排全部被打乱了,哎~~~也只能跟着学校的脚步&q ...

  3. Android开发音乐播放器

    音乐播放器中综合了以下内容: SeekBar.ListView.广播接收者(以代码的形式注册Receiver).系统服务.MediaPlayer 实现的功能: 1.暂停/播放.下一首/上一首,点击某一 ...

  4. android开发音乐播放器,Android开发简易音乐播放器

    这里介绍一个简易的音乐播放器,供大家参考,具体内容如下 效果图如下: 但是,由于这是一个简易版的音乐播放器,所播放的音乐只有一首,且被写死,但,操作却十分简单,方便理解! 这是代码的主要设计: 音乐主 ...

  5. 用代码敲一番浪漫,Android开发音乐播放器

    在大多数人们的印象中,程序员容易使人联想到宅男.沉闷.古板等等一系列不好的词语.网上也流传着一个搞笑的说法:"嫁人就嫁程序员,钱多死得早."多么辛酸啊.但是--你们都错了,程序员也 ...

  6. Android 自定义音乐播放器实现

    Android自定义音乐播放器 一:首先介绍用了哪些Android的知识点: 1 MediaPlayer工具来播放音乐 2 Handle.因为存在定时任务(歌词切换,动画,歌词进度条变换等)需要由Ha ...

  7. android 小型音乐播放器(实现播放、下一首、上一首、自动播放、随机播放按钮、当前播放歌曲界面)

    该文章主要针对 android 的音乐播放器软件进行简单的功能添加:播放.断点播放.停止.上一曲.下一曲.随机播放.显示当前播放歌曲(后续会为当前显示的播放添加动画): 软件开发流程: 1.先向内存卡 ...

  8. Android Car音乐播放器分析

    Android Car音乐播放器分析 概述 Android Car系统音乐路径是packages/apps/Car/Media,应用名称是CarMediaApp,包名是com.android.car. ...

  9. android 音乐播放器 获取sd卡所有音乐文件,Android Studio音乐播放器无法读取SD卡,只有内部存储器...

    我很抱歉,如果这原来是一个愚蠢的问题,它可能会成为一个快速修复,但我只是无法弄清楚.我在android studio中创建了音乐播放器,并且没有任何sdcard上的歌曲不会显示在列表视图中,只有内部内 ...

最新文章

  1. asp.net webform 复制窗体代码_逆向分析流氓软件自我复制以及防御思路
  2. dwcs6连接不上access数据库_dw连接access数据库步骤
  3. python——进程基础
  4. [IE兼容性] Table 之边框
  5. Pandas读取excel中的数据,并利用现有列数据生成新列
  6. Assigning retained object to weak property object will be released after assignment
  7. 十二时辰及经络走向图
  8. 桌面Linux绝地反击
  9. 最新windows7旗舰版密钥
  10. Linux之python版本升级
  11. java sql date类_java.util.Date和java.sql.Date 一点区别
  12. Redis系列(三)--过期策略
  13. Vue中使用纯CSS实现全屏网格加渐变色背景布局
  14. 要访问1KB的内存为啥需要10位地址线,而不是13位?
  15. 昆明理工大学知道计算机答案,昆明理工大学 计算机基础教材参考答案(1-6章)
  16. 基于战舰V3的MPU6050六轴陀螺仪实验
  17. Linux查看RAM内存信息
  18. 图的割点 桥 双连通(byvoid)
  19. 英国计算机专业硕士申请美国博士,美国计算机专业留学硕士申请|美国计算机专业留学博士申请-计算机专业留学...
  20. dio拦截器 flutter_在Dio中使用拦截器使Flutter刷新令牌

热门文章

  1. 2019年途家 秋招 研发笔试
  2. 我的世界手机版javaui材质包_VortexShader1.0水材质包下载_我的世界VortexShader1.0水模组材质包下载 v1.0.0.35545...
  3. 点积和叉积(基本的东西,先挖个坑)
  4. 教学向|zbrush建模技巧,曲率遮罩是什么?怎么做?
  5. AD20 原理图取消栅格自动捕捉
  6. telnet的安装与使用
  7. Android中的Gilde
  8. ubuntu查看内存占用情况
  9. mysql根据中文拼音进行字母检索
  10. 要怎样规划快餐店室内装饰设计