Java 如何使用Android MediaPlayer设置起始位置

Java 如何使用Android MediaPlayer设置起始位置,java,android,android-studio,android-mediaplayer,Java,Android,Android Studio,Android Mediaplayer,如何使用Android MediaPlayer设置起始位置 暂停音轨后,我调用startMusic,但MediaPlayer从一开始就开始播放,而不是继续播放 我的代码: public void pauseMusic() { if(playMusic.isPlaying()) { playMusic.pause(); } public void playMusic() { playMusic.start(); playMusic.seekTo(0

如何使用Android MediaPlayer设置起始位置

暂停音轨后,我调用startMusic,但MediaPlayer从一开始就开始播放,而不是继续播放

我的代码:

public void pauseMusic() {
    if(playMusic.isPlaying()) {
        playMusic.pause();
    }

public void playMusic() {
    playMusic.start();
    playMusic.seekTo(0);
}
当我调用stopMusic时,它会抛出以下错误:

Process: com.example.kq.meetthevwls, PID: 30166 
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.MediaPlayer.start()' on a null object reference

错误不是由stopMusic引起的,而是由start方法引起的。您可能尚未初始化MediaPlayer对象,因此当您调用start时,它会崩溃,因为该对象为NULL

试试这样的方法:

playMusic = MediaPlayer.create(YourActivity.this, R.raw.your_sound_name);

更改活动名称和声音资源名称

,这意味着您的playMusic对象已被取消引用或从未被引用过。这与寻找无关,但与玩耍无关。。继续播放音乐,但我需要开始位置使用videoView.getCurrentPosition获取上次播放的位置或暂停的位置,并使用videoView.getCurrentPosition查找上次播放的位置。SeektolastPlayedPosition如何恢复媒体播放器?此答案与op的问题有何关系?-如何使用Android MediaPlayer设置起始位置?@NoorHossain如果您阅读了堆栈跟踪OP的问题,则与标题无关。你使用OP询问他是否可以从位置开始追踪。但答案与此无关。@ArunK我在前面的评论中已经回答过了。如果你读了stacktrace,你就会明白了。