音乐本地扫描工具类,返回一个集合
来源:互联网 发布:重庆装修网络推广 编辑:程序博客网 时间:2024/06/07 06:02
一个简单的扫描本地音乐工具类 返回一个集合
package com.panghaha.it.mymusicplayerdemo;/*** * ━━━━ Code is far away from ━━━━━━ * () () * ( ) ( ) * ( ) ( ) * ┏┛┻━━━┛┻┓ * ┃ ━ ┃ * ┃ ┳┛ ┗┳ ┃ * ┃ ┻ ┃ * ┗━┓ ┏━┛ * ┃ ┃ * ┃ ┗━━━┓ * ┃ ┣┓ * ┃ ┏┛ * ┗┓┓┏━┳┓┏┛ * ┃┫┫ ┃┫┫ * ┗┻┛ ┗┻┛ * ━━━━ bug with the more protecting ━━━ * <p/> * Created by PangHaHa12138 on 2017/7/4. */import android.content.Context;import android.database.Cursor;import android.provider.MediaStore;import java.util.ArrayList;import java.util.List;/** * 音乐工具类,扫描系统里面的音频文件,返回一个list集合 */public class MusicUtils { public static List<Song> getMusicData(Context context) { List<Song> list = new ArrayList<Song>(); // 媒体库查询语句(写一个工具类MusicUtils) Cursor cursor = context.getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, MediaStore.Audio.AudioColumns.IS_MUSIC); if (cursor != null) { while (cursor.moveToNext()) { Song song = new Song(); song.song = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DISPLAY_NAME)); song.singer = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST)); song.path = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA)); song.duration = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DURATION)); song.size = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.SIZE)); if (song.size > 1000 * 800) { // 注释部分是切割标题,分离出歌曲名和歌手 (本地媒体库读取的歌曲信息不规范) if (song.song.contains("-")) { String[] str = song.song.split("-"); song.singer = str[0]; song.song = str[1]; } list.add(song); } } // 释放资源 cursor.close(); } return list; } /** * 定义一个方法用来格式化获取到的时间 */ public static String formatTime(int time) { if (time / 1000 % 60 < 10) { return time / 1000 / 60 + ":0" + time / 1000 % 60; } else { return time / 1000 / 60 + ":" + time / 1000 % 60; } }}
Song类:
package com.panghaha.it.mymusicplayerdemo;/*** * ━━━━ Code is far away from ━━━━━━ * () () * ( ) ( ) * ( ) ( ) * ┏┛┻━━━┛┻┓ * ┃ ━ ┃ * ┃ ┳┛ ┗┳ ┃ * ┃ ┻ ┃ * ┗━┓ ┏━┛ * ┃ ┃ * ┃ ┗━━━┓ * ┃ ┣┓ * ┃ ┏┛ * ┗┓┓┏━┳┓┏┛ * ┃┫┫ ┃┫┫ * ┗┻┛ ┗┻┛ * ━━━━ bug with the more protecting ━━━ * <p/> * Created by PangHaHa12138 on 2017/7/4. */public class Song { public String getSinger() { return singer; } public void setSinger(String singer) { this.singer = singer; } public String getSong() { return song; } public void setSong(String song) { this.song = song; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } public int getDuration() { return duration; } public void setDuration(int duration) { this.duration = duration; } public long getSize() { return size; } public void setSize(long size) { this.size = size; } /** 歌手 */ public String singer; /** 歌曲名 */ public String song; /**歌曲的地址 */ public String path; /**歌曲长度 */ public int duration; /**歌曲的大小 */ public long size;}
阅读全文
0 0
- 音乐本地扫描工具类,返回一个集合
- contentPrivade扫描本地音乐
- 扫描手机本地mp4视频文件并返回List集合
- Android扫描本地mp3格式音乐
- Android开发----音乐播放器(扫描本地音乐)
- Jackson返回一个集合类对象
- 扫描IPHONE本地音乐文件,获得音乐名,歌手名代码示例
- android query 之 扫描本地音乐相关记录
- 高仿网易云音乐---之扫描本地歌曲
- 扫描音乐
- 音乐扫描
- Android音乐播放器制作(一)扫描本地音乐显示在手机上
- 高仿网易云音乐一(可扫描本地音乐播放)
- 二维码的 扫描 扫描本地图库 生成一个二维码
- 一个工具类-----集合的交并差
- 类扫描工具类
- ContentProvider扫描音乐
- 一个简单的构造接口返回协议的工具类
- SiteMesh页面装饰器的使用步骤
- redis那点事儿(三)
- 策略模式的实现的简单Demo
- sql 数据分页
- VS中调试时不能查看STL中的变量的值
- 音乐本地扫描工具类,返回一个集合
- 再大的洪水也阻挡不了我们刷题的热情···(Orz)
- 《Drools7.0.0.Final规则引擎教程》第1章 Drools简介
- redis 锁
- Android 属性动画 详解
- 如何遍历链表
- 对于创业企业,盈利和用户谁应该放在第一位
- Android自定义视图(一)——onMeasure,MeasureSpec源码 流程 思路详解
- Android Glide数据更新及内存缓存、硬盘缓存清理