안녕하세요, 아주 기본적인 내용일지도모르는데 지금 하다가 헷갈려서 혼란스럽습니다.
요지는 A클래스의 a 메소드에선 센서를 측정하고있습니다.
B클래스의 생성자에선 미디어플레이어를 플레이하고 있습니다
a메소드에서 일정시간 사용자의 입력이 없을때 상황을 정의하고
a메소드내부에 B클래스 선언 및 생성
B클래스에 구현해놓은
MediaPlayerPause(){
mediaPlayer.pause();
}
를 불러왔습니다 B.MediaPlayerPause();
이랬더니 널포인트 에러가 나더군요. 제가 뭔가 지금 잘못알고 있는건가요>?
이해를 돕기위해 간단한 소스 첨부하겠습니다
클래스 A(센서측정클래스) implements SensorEventListener
...
....
public void onSensorChanged(SensorEvent event)
{
float g = 자이로센서측정;
B b = new B(context);(동영상재생클래스)
일정시간동안 입력이없는것을 측정하는 메소드{
if(움직임없으면)
b.mediapause();
else(움직이면)
b.mediastart();
}
}
클래스 B (동영상 재생클래스)
public class B
{
public MediaPlayer mediaPlayer;
public B(Context context)
{
this.context =context;
surfaceTexture = ~~~;
Surface surface = new Surface(surfaceTexture);
mediaPlayer = MediaPlayer.create(context,.....);
mediaPlayer.setSurface(surface);
mediaPlayer.start();
mediaPlayer.setLooping(true);
}
.....................
public void mediapause()
{
mediaPlayer.pause();
}
public void mediastart()
{
mediaPlayer.start();
}
}