上一个章节已经实现了播放功能,这一章节主要实现播放界面的初步。
先加载出NowPlayingActivity。
/**
* Created by kankan on 2016/6/4.
*/
public class NowPlayingActivity extends FragmentActivity {
//Common objects.
private Context mContext;
private Common mApp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = getApplicationContext();
mApp =( Common) getApplicationContext();
setContentView(R.layout.activity_now_playing);
}
}
然后再PlaybackKickstarter里面启动这个Activity
Intent intent = new Intent(mContext, NowPlayingActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
这样就可以看到界面了,我们试试
播放界面实现了,对这个界面的按钮进行响应,这些按钮主要实现播放暂停,前进后退,随机,循环,进度交互等工作。而这些工作实现的类主要是AudioPlaybackService类做的。接下来我们完善这个类。
首先是播放暂停。
/**
* Starts/resumes the current media player. Returns true if
* the operation succeeded. False, otherwise.
*/
public boolean startPlayback() {
try{
getCurrentMediaPlayer().start();
}catch (Exception e){
e.printStackTrace();
}
return true;
}
/**
* Returns the current active MediaPlayer object.
*/
public MediaPlayer getCurrentMediaPlayer() {
if (mCurrentMediaPlayer==1)
return mMediaPlayer;
else
return mMediaPlayer2;
}
/**
* Pauses the current media player. Returns true if
* the operation succeeded. False, otherwise.
*/
public boolean pausePlayback() {
try {
getCurrentMediaPlayer().pause();
}catch (Exception e){
e.printStackTrace();
return false;
}
return true;
}
public boolean togglePlaybackState(){
if(isPlayingMusic()){
pausePlayback();
}else {
startPlayback();
}
return isPlayingMusic();
}
现在把这些操作和button绑定,就可以实现播放和暂停的功能了。