admin管理员组文章数量:1652896
安卓基础培训结束了,自己随便做了一个简单的音乐播放器,第一个安卓小项目,先晒晒图片~~~~
界面灵感来自,迅雷看看播放器,在安卓里面播放音频用到时MediaPlayer类
比较复杂点的有音轨的控制,进度和音轨控制用到的是seekBar,自定义样式seekbar_img.xml代码如下:
< layer-list xmlns:android ="http://schemas.android/apk/res/android" >
< item
android:id ="@+android:id/background"
android:drawable ="@drawable/bbar_bg" />
< item
android:id ="@+android:id/progress"
android:drawable ="@drawable/bbar" />
</ layer-list >
还有音轨的控制:
< layer-list xmlns:android ="http://schemas.android/apk/res/android" >
< item
android:id ="@+android:id/background"
android:drawable ="@drawable/bar_bg" />
< item
android:id ="@+android:id/progress"
android:drawable ="@drawable/bar" />
</ layer-list >
在实现歌词显示时有点复杂,不过仔细分析歌词文件,就能找到解决办法,歌词文件每句前面都有对应的时间,只要算出当前播放的时间,
然后判断是否匹配,如果匹配就用I/O操作将歌词文件中的对应的歌词读取出来
View Code /**
* 读取歌词文件
*/
public static String read(File path, String filename)
{
StringBuilder sb = new StringBuilder();
Set<String> lrcs = FileUtil.getLrcs(path);
// 获取歌词文件名
String lrcfile=filename.substring(0,filename.indexOf("."));
try
{
BufferedReader br = new BufferedReader( new InputStreamReader( new FileInputStream(path+"/"+lrcfile+".lrc"),"GBK"));
String con = "";
while ((con = br.readLine()) != null)
{
sb.append(con + "\n");
}
br.close();
} catch (Exception e)
{
e.printStackTrace();
}
return sb.toString();
}
接下来就是换算时间了,将当前播放时间换算成时分秒,
View Code public static String formatMS( int ms)
{
int s = ms / 1000; // 秒
int m = s / 60; // 分
int add = s % 60; // 秒
String con = "";
if (add > 10 && m > 10)
con = m + ":" + add;
else if (add < 10 && m > 10)
con = m + ":0" + add;
else if (m < 10&& add < 10)
con = "0" + m + ":0" + add;
else if (m > 10 && add < 10)
con = "" + m + ":0" + add;
else if (m < 10 && add > 10)
con = "0" + m + ":" + add ;
return con;
}
播放时用到一个子线程,用来跟踪播放进度,显示歌词进度,
// 子线程监听进度的改变
private Runnable thread = new Runnable()
{
@Override
public void run()
{
// 更新视图
updateTextView();
// 自动播放下一首
playNext( true);
// 显示歌词
showLrc();
handler.postDelayed(thread, 1000);
}
};
简单介绍到这里,代码下载点击:
/Files/Jaylong/安卓音乐播放器.zip
转载于:https://wwwblogs/Jaylong/archive/2012/05/01/android.html
版权声明:本文标题:简单的安卓音乐播放器 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729620185a1208138.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论