Android开发做一个简单的音乐播放器
Android开发如何做一个简单的音乐播放器,首先我们先要知道用到的知识点有哪些。
1.MediaPlayer:可以播放本地资源、sd卡内存资源以及网络uri资源,在这里我们播放sd卡上的音乐资源.
2.Contentresolver:如何获取本地音乐资源。
3.如何通过播放/暂停/上一首/下一首/切换播放资源。
了解上述问题后,我们开始写代码:
1.获取本地音乐资源列表:
1).读取sd卡上的内容我们需要在配置文件中添加权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
2).获取本地资源文件列表:
ContentResolver contentResolver=getContentResolver();
//查询本地资源文件
Cursor c=contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,null,null,null,null);
if (c!=null){
int i=0;
while(c.moveToNext()){
Map<String,Object> map= new HashMap<String, Object>();//存放在map中显示在listview列表
//歌曲名
name[i]=c.getString(c.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));
//歌曲id
id[i]=c.getInt(c.getColumnIndex(MediaStore.Audio.Media._ID));
//作者
artical[i]=c.getString(c.getColumnIndex(MediaStore.Audio.Media.ARTIST));
//路径
url[i]=c.getString(c.getColumnIndex(MediaStore.Audio.Media.DATA));
map.put("SongName", name[i]);
map.put("id", id[i]);
map.put("Artical", artical[i]);
map.put("url", url[i]);
list.add(map);
i++;
}
通过上述代码就可将本地资源文件显示在listview列表中。
3.点击播放按钮:
点击播放按钮时,有两种可能:1).当前音乐处于暂停状态,点击播放继续播放。2).当前正在播放音乐,点击播放,音乐从头播放。设置标记量isPause=false;如果当前是处于停止状态,则继续播放:
if (isPause){
mediaPlayer.start();
isPause=false;
}
如果当前不是处于暂停状态,则重置当前音乐,再次播放。
if (mediaPlayer.isPlaying()){
mediaPlayer.stop();
mediaPlayer.reset();
}
Uri conuri= ContentUris.withAppendedId(android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,id[index]);
mediaPlayer.setDataSource(getApplicationContext(),conuri);
mediaPlayer.prepareAsync();
isPause=false;
下一首或上一首更改当前音乐标示index即可。
测试图如下:
源码:https://github.com/huangolinqing/Music1/
欢迎关注技术公众号,微信号搜索ColorfulCode 代码男人
分享技术文章,投稿分享,不限技术种类,不限技术深度,让更多人因为分享而受益。
Android开发做一个简单的音乐播放器相关推荐
- 用Android做一个简单的音乐播放器(上)
这一学期要结束了,我用Android写了一个音乐播放器,算是给它画上个完美的句号,里面有登录,注册,这个APP还有很多功能没完善,有时间了在加一些料.效果图如下: 登录.注册直接用的是Android自 ...
- C#做一个简单的音乐播放器
界面: 点击打开单选音乐文件或多选,音乐文件名被添加到旁边的listBox控件中,按上一曲下一曲切换歌曲 添加的引用: using System.IO; using System.Media; 设置的 ...
- Android开发本地及网络Mp3音乐播放器(十二)创建NetMusicListAdapter、SearchResult显示网络音乐列表
转载请注明出处:http://blog.csdn.net/iwanghang/article/details/51290181 觉得博文有用,请点赞,请留言,请关注,谢谢!~ 实现功能: 实现NetM ...
- Android开发本地及网络Mp3音乐播放器(十三)网络音乐搜索功能实现,歌名歌手专辑名搜索
转载请注明出处:http://blog.csdn.net/iwanghang/article/details/51298411 觉得博文有用,请点赞,请留言,请关注,谢谢!~ 实现功能: 实现网络音乐 ...
- 自制一个简单的音乐播放器
这两天刚学完了contentprovider和service组件,就综合下所学的,自制了一个简单的音乐播放器. 代码如下: 主activity代码 public class MainActivity ...
- 用Qt写一个简单的音乐播放器(三):增加界面(播放跳转与音量控制)
一.前言 在用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐中,我们已经知道如何去使用QMediaPlayer播放音乐. 在用Qt写一个简单的音乐播放器(二):增加界面(开始和 ...
- Android开发本地及网络Mp3音乐播放器(二十)歌曲下载完成后通知主界面更新本地音乐
转载请注明出处:http://blog.csdn.net/iwanghang/article/details/51448597 项目源码(打赏5积分请点这边):http://download.csdn ...
- 用Qt写一个简单的音乐播放器(六):显示歌词(正则表达式)
一.前言 在用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐中,我们已经知道如何去使用QMediaPlayer播放音乐. 在用Qt写一个简单的音乐播放器(二):增加界面(开始和 ...
- 用Qt写一个简单的音乐播放器(四):歌曲浏览、上一曲、下一曲
一.前言 在用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐中,我们已经知道如何去使用QMediaPlayer播放音乐. 在用Qt写一个简单的音乐播放器(二):增加界面(开始和 ...
最新文章
- 我所理解的OOP——UML六种关系
- 关于Mysql5.6 Failed to open file error2的记录
- SQL server 2005中无法新建作业(Job)的问题
- 写得蛮好的linux学习笔记(二)
- [转贴]漫谈计算机图书翻译的四种境界
- 腾讯云安装samba服务器无法连接问题
- 过滤器java面试_过滤器监听器面试题都在这里
- C# 能否获取一个对象所占内存的大小?
- 全球增长最快域名解析商Top10:中国占据四席
- vlc 在ubuntu 14下的linux版本编译
- Linux下的shell与make
- LCN分布式事务框架实战
- 线程之成员变量的线程共享
- Java程序性能优化(让你的Java程序更快、更稳定)
- 天正CAD启动时显示服务器名称为空,如何解决天正建筑2014启动时出现error
- python程序员面试算法宝典pdf-Python程序员面试笔试宝典
- CSS3 实现3D特效
- android 画图
- 天龙DBP-1611UD蓝光播放机回顾
- 01、第一个简单的BUCK电路的计算与仿真