JamesMusic浅读--------9,播放界面初显及播放类完善

来源:互联网 发布:知乎 赞同 编辑:程序博客网 时间:2024/05/18 03:45

上一个章节已经实现了播放功能,这一章节主要实现播放界面的初步。

先加载出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绑定,就可以实现播放和暂停的功能了。

0 0