android 设置布局不卡视,Android第三次作业

Android第三次作业

一. 功能介绍

此音乐播放器可实现播放音乐,通过进度条控制歌曲的功能,在听歌曲的同时,还可以得到歌曲的详细信息。

二. 实现代码

1. 设置播放功能

点击播放音乐,不过需要判断一下当前是否有音乐在播放,需要关闭正在播放的,position 可以获取到点击的是哪一个,去 musicList 里寻找播放

musicListView.setOnItemClickListener(newAdapterView.OnItemClickListener() {

@Override

public voidonItemClick(AdapterView> parent, View view, intposition, longid) {

currentposition= position;

player(currentposition);

}

});

2. 设置暂停功能

private voidpause() {

intent.putExtra("MSG","1");

isplay= false;

btn_play_pause.setBackgroundResource(R.drawable.play);

startService(intent);

}

3. 设置切歌功能

切换上一曲

public  voidpreviousMusic() {

if(currentposition> 0){

currentposition-= 1;

player();

}else{

showInfo("已经是第一首音乐了");

}

}

切换下一曲

private voidnextMusic() {

if(currentposition< musicList.size()-2){

currentposition+= 1;

player();

}else{

showInfo("已经是最后一首音乐了");

}

}

4. 设置进度条

打开歌曲文件后,可拖动进度条来控制歌曲进度,如果没有打开歌曲,则会出现提示,当进度条的值改变时,音乐播放器从新的位置开始播放,拖动进度条时,音乐暂停播放,停止拖动进度条时,音乐开始播放

audioSeekBar.setOnSeekBarChangeListener(newSeekBar.OnSeekBarChangeListener() {

@Override

public voidonProgressChanged(SeekBar seekBar, intprogress, booleanfromUser) {

if(currentposition== -1) {

Log.i("MusicPlayerService", "MusicActivity...showInfo(请选择要播放的音乐);.........");

showInfo("请选择要播放的音乐");

} if(fromUser) {

btn_play_pause.setBackgroundResource(R.drawable.pause);     MusicPlayerService.mediaPlayer.seekTo(progress);//}

}

}

@Override

public voidonStartTrackingTouch(SeekBar seekBar) {

if(mediaPlayer!= null) {

mediaPlayer.pause();

}}

@Override

public voidonStopTrackingTouch(SeekBar seekBar) {

if(mediaPlayer!= null) {

mediaPlayer.start();

}

});

5. 点击查看歌曲详细信息

.   intid = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media._ID));

String tilte = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE));String album = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM));

intalbumId = cursor.getInt(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID));String artist = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST));String url = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));

intduration = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DURATION));

Long size = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.SIZE));

三. 实现截图

93c80a34f4d2300b2371aafc91eaa196.png

视频演示:实现功能依次为打开音乐,暂停音乐,下一曲,暂停,上一曲。

视频链接:https://www.bilibili.com/video/av39893597?share_medium=android&share_source=qq&bbid=UWFYPg47AmBQMgdhHS8dLx0lHSUScUByQj4Ginfoc&ts=1546592457586

四.代码链接

项目链接:

https://git.coding.net/L_HEY/1600802085_music.git

App链接:

https://coding.net/u/L_HEY/p/1600802085_music/git/blob/master/music-debug.apk

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值