android音乐播放器项目中的向前、向后按钮



我有一个在Eclipse中编码的音乐播放器应用程序。应用程序有按钮,如开始/暂停,下一首歌,上一首歌和混音器。我想添加向前和向后按钮,如何使用最简单的方法?

谢谢大家。

快进歌曲:

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

希望这会有所帮助。。。

有一个关于android蜂窝中音乐播放器的简单教程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());
                }
            }
        });

对于后向

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);
                }
            }
        });

最新更新