1. [代码]变量申明
01
/*变量声明*/
02
private ImageButton playBtn = null;//播放、暂停
03
private ImageButton latestBtn = null;//上一首
04
private ImageButton nextButton = null;//下一首
05
private ImageButton forwardBtn = null;//快进
06
private ImageButton rewindBtn = null;//快退
07
private TextView playtime = null;//已播放时间
08
private TextView durationTime = null;//歌曲时间
09
private SeekBar seekbar = null;//歌曲进度
10
private Handler handler = null;//用于进度条
11
private Handler fHandler = null;//用于快进
12
private int currentPosition;//当前播放位置
2. [代码]获得上一个activity传来的数据
01
@Override
02
protected void onCreate(Bundle savedInstanceState) {
03
super.onCreate(savedInstanceState);
04
setContentView(R.layout.play);
05
Intent intent = this.getIntent();
06
Bundle bundle = intent.getExtras();
07
_ids = bundle.getIntArray("_ids"); //获得保存音乐文件_ID的数组
08
position = bundle.getInt("position"); //获得应该播放的音乐的号数,既播放第几首
09
//代码未完,见下面的代码
10
}
3. [代码]初始化控件
1
playtime = (TextView)findViewById(R.id.playtime); //显示已经播放的时间
2
durationTime = (TextView)findViewById(R.id.duration); //显示歌曲总时间
3
playBtn = (ImageButton)findViewById(R.id.playBtn); //开始播放、暂停播放按钮
4
latestBtn = (ImageButton)findViewById(R.id.latestBtn); //播放上一首按钮
5
nextButton = (ImageButton)findViewById(R.id.nextBtn); //播放下一首按钮
6
forwardBtn = (ImageButton)findViewById(R.id.forwardBtn); //快进按钮
7
rewindBtn = (ImageButton)findViewById(R.id.rewindBtn); //快退按钮
8
seekbar = (SeekBar)findViewById(R.id.seekbar); //播放进度条
4. [代码]定义各控件的回调函数 跳至 [1] [2] [3] [4] [全屏预览]
001
playBtn.setOnClickListener(new View.OnClickListener() { //点击“播放、暂停”按钮时回调
002
@Override
003
public void onClick(View v) {
004
if (mp.isPlaying()){ //如果正在播放则暂停
005
pause();
006
playBtn.setBackgroundResource(
007
R.drawable.play_selecor); //更改按键状态图标
008
} else{ //如果没有播放则恢复播放
009
play();
010
playBtn.setBackgroundResource(
011
R.drawable.pause_selecor); //更改按键状态图标
012
013
}
014
}
015
});
016
017
latestBtn.setOnClickListener(new View.OnClickListener() {//点击“播放上一首”按钮时回调
018
@Override
019
public void onClick(View v) {
020
int num = _ids.length; //获得音乐的数目
021
if(position==0){ //如果已经时第一首则播放最后一首
022
position=num-1;
023
}else{ //否则播放上一首
024
position-=1;
025
}
026
int pos = _ids[position]; //得到将要播放的音乐的_ID
027
setup(); //做播放前的准备工作
028
play(); //开始播放
029
}
030
});
031
032
nextButton.setOnClickListener(new View.OnClickListener(){//点击“播放下一首”按钮时回调
033
@Override
034
public void onClick(View v) {
035
int num = _ids.length; //获得音乐的数目
036
if (position==num-1){ //如果已经是最后一首,则播放第一首
037
position=0;
038
}else{
039
position+=1; //否则播放下一首
040
}
041
int pos = _ids[position]; //得到将要播放的音乐的_ID
042
setup(); //做播放前的准备工作
043
play(); //开始播放
044
}
045
});
046
047
forwardBtn.setOnTouchListener(new OnTouchListener() { //点击“快进”按钮时回调
048
@Override
049
public boolean onTouch(View v, MotionEvent event) {
050
switch (event.getAction()) {
补充:移动开发 , Android ,