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

本文介绍了Android应用开发中实现MP3音乐播放器的代码,包括播放、暂停、上一首、下一首、重复和随机播放功能。同时,文章也分享了非科班生在金九银十求职季的经历。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值