Android应用开发--MP3音乐播放器代码实现(二),非科班生金九银十求职经历

import com.wwj.sb.service.PlayerService;

import com.wwj.sb.utils.ConstantUtil;

import com.wwj.sb.utils.CustomDialog;

import com.wwj.sb.utils.MediaUtil;

/**

  • 2013/5/7

  • 简、美音乐播放器

  • @author wwj

*/

public class HomeActivity extends Activity {

private ListView mMusiclist; // 音乐列表

private List mp3Infos = null;

private SimpleAdapter mAdapter; // 简单适配器

private Button previousBtn; // 上一首

private Button repeatBtn; // 重复(单曲循环、全部循环)

private Button playBtn; // 播放(播放、暂停)

private Button shuffleBtn; // 随机播放

private Button nextBtn; // 下一首

private TextView musicTitle;//歌曲标题

private TextView musicDuration; //歌曲时间

private Button musicPlaying; //歌曲专辑

private int repeatState; //循环标识

private final int isCurrentRepeat = 1; // 单曲循环

private final int isAllRepeat = 2; // 全部循环

private final int isNoneRepeat = 3; // 无重复播放

private boolean isFirstTime = true;

private boolean isPlaying; // 正在播放

private boolean isPause; // 暂停

private boolean isNoneShuffle = true; // 顺序播放

private boolean isShuffle = false; // 随机播放

private int listPosition = 0; //标识列表位置

private HomeReceiver homeReceiver; //自定义的广播接收器

//一系列动作

public static final String UPDATE_ACTION = “com.wwj.action.UPDATE_ACTION”;

public static final String CTL_ACTION = “com.wwj.action.CTL_ACTION”;

public static final String MUSIC_CURRENT = “com.wwj.action.MUSIC_CURRENT”;

public static final String MUSIC_DURATION = “com.wwj.action.MUSIC_DURATION”;

public static final String REPEAT_ACTION = “com.wwj.action.REPEAT_ACTION”;

public static final String SHUFFLE_ACTION = “com.wwj.action.SHUFFLE_ACTION”;

private int currentTime;

private int duration;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.home_activity_layout);

mMusiclist = (ListView) findViewById(R.id.music_list);

mMusiclist.setOnItemClickListener(new MusicListItemClickListener());

mMusiclist.setOnCreateContextMenuListener(new MusicListItemContextMenuListener());

mp3Infos = MediaUtil.getMp3Infos(getApplicationContext()); //获取歌曲对象集合

setListAdpter(MediaUtil.getMusicMaps(mp3Infos)); //显示歌曲列表

findViewById(); //找到界面上的每一个控件

setViewOnclickListener(); //为一些控件设置监听器

repeatState = isNoneRepeat; // 初始状态为无重复播放状态

homeReceiver = new HomeReceiver();

// 创建IntentFilter

IntentFilter filter = new IntentFilter();

// 指定BroadcastReceiver监听的Action

filter.addAction(UPDATE_ACTION);

filter.addAction(MUSIC_CURRENT);

filter.addAction(MUSIC_DURATION);

filter.addAction(REPEAT_ACTION);

filter.addAction(SHUFFLE_ACTION);

// 注册BroadcastReceiver

registerReceiver(homeReceiver, filter);

}

/**

  • 从界面上根据id获取按钮

*/

private void findViewById() {

previousBtn = (Button) findViewById(R.id.previous_music);

repeatBtn = (Button) findViewById(R.id.repeat_music);

playBtn = (Button) findViewById(R.id.play_music);

shuffleBtn = (Button) findViewById(R.id.shuffle_music);

nextBtn = (Button) findViewById(R.id.next_music);

musicTitle = (TextView) findViewById(R.id.music_title);

musicDuration = (TextView) findViewById(R.id.music_duration);

musicPlaying = (Button) findViewById(R.id.playing);

}

/**

  • 给每一个按钮设置监听器

*/

private void setViewOnclickListener() {

ViewOnClickListener viewOnClickListener = new ViewOnClickListener();

previousBtn.setOnClickListener(viewOnClickListener);

repeatBtn.setOnClickListener(viewOnClickListener);

playBtn.setOnClickListener(viewOnClickListener);

shuffleBtn.setOnClickListener(viewOnClickListener);

nextBtn.setOnClickListener(viewOnClickListener);

musicPlaying.setOnClickListener(viewOnClickListener);

}

private class ViewOnClickListener implements OnClickListener {

Intent intent = new Intent();

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.previous_music: // 上一首

playBtn.setBackgroundResource(R.drawable.play_selector);

isFirstTime = false;

isPlaying = true;

isPause =

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值