MediaPlayer의 메서드에 대해 null 포인터 예외가 계속 발생합니다. 마침내 play 함수를 별도의 메소드로 초기화하고 play 함수를 초기화하여 onClick 리스너 내부에서 해당 메소드를 호출함으로써 play 함수를 작동시킬 수있었습니다.안드로이드에 대한 Mediaplayer의 일시 중지 메서드에 대한 nulll 포인터 예외
그러나 앱 일시 중지 기능에 대해 여전히 null 포인터 예외가 발생합니다. 미디어 플레이어의 일시 정지 방법을 사용하고 있습니다. 작업 일시 중지 방법은 무엇입니까? 문제는 내 코드의 구조와 구성 방법에 달려 있다고 생각합니다.
미디어 플레이어의 초기화를 코드의 다른 위치로 옮겨 보았습니다. 그리고 아무것도 작동하지 않는 것 같습니다. 어떤 아이디어?
// onclick listener for the playing the selected song
playB.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
playSong();
}
});
// onclick listener for pausing the song that is playing
pauseB.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
pauseSong();
}
});
// method to pause song
public void pauseSong(){
player.pause();
length = player.getCurrentPosition();
}
// method to play song and initialize the MediaPlayer class with one file
// from the drawable folder, need to initialize with something or it will be null
// for that i decided to use an mp3 in R.raw folder
public void playSong(){
// Play song
MediaPlayer player = MediaPlayer.create(this, R.raw.g2);
player.reset();
try {
player.setDataSource(selectedAudioPath);
player.prepare();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
player.seekTo(length);
player.start();
} // play method
그 중 하나가 문제입니다. 감사합니다. – Kevik