Android音乐播放器项目中的前进,后退按钮

时间:2013-12-05 09:30:20

标签: android eclipse button

我有一个在Eclipse中编码的音乐播放器应用程序。应用程序有按钮,如开始/暂停,下一首歌曲,上一首歌曲,混音器。我想添加前进和后退按钮,我怎样才能以最简单的方式进行操作?

谢谢大家。

2 个答案:

答案 0 :(得分:5)

快进歌曲:

public void forwardSong() {
    if (mPlayer != null) {
        int currentPosition = mPlayer.getCurrentPosition();
        if (currentPosition + seekForwardTime <= mPlayer.getDuration()) {
            mPlayer.seekTo(currentPosition + seekForwardTime);
        } else {
            mPlayer.seekTo(mPlayer.getDuration());
        }
    }
}

回放歌曲:

public void rewindSong() {
    if (mPlayer != null) {
        int currentPosition = mPlayer.getCurrentPosition();
        if (currentPosition - seekBackwardTime >= 0) {
            mPlayer.seekTo(currentPosition - seekBackwardTime);
        } else {
            mPlayer.seekTo(0);
        }
    }
}

mPlayer是MediaPlayer的对象。

seekForwardTime和seekBackwardTime是两个变量来转发或回放定义的第二个歌曲。

private int seekForwardTime = 5 * 1000; // default 5 second
private int seekBackwardTime = 5 * 1000; // default 5 second

希望这会有所帮助......

答案 1 :(得分:2)

在android hive http://www.androidhive.info/2012/03/android-building-audio-player-tutorial/

中有一个简单的音乐播放器教程

如链接中所示,创建前进和后退按钮并使用以下代码

btForward.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // get current song position
                int currentPosition = mp.getCurrentPosition();
                // check if seekForward time is lesser than song duration
                if(currentPosition + seekForwardTime <= mp.getDuration()){
                    // forward song
                    mp.seekTo(currentPosition + seekForwardTime);
                }else{
                    // forward to end position
                    mp.seekTo(mp.getDuration());
                }
            }
        });

For Backward

btBack.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // get current song position
                int currentPosition = mp.getCurrentPosition();
                // check if seekBackward time is greater than 0 sec
                if(currentPosition - seekBackwardTime >= 0){
                    // forward song
                    mp.seekTo(currentPosition - seekBackwardTime);
                }else{
                    // backward to starting position
                    mp.seekTo(0);
                }

            }
        });