WindowManager에서 VideoView로 비디오를 재생하려고합니다. 나는 이것을 위해 StandOutLibrary를 사용하고있다. 나는 두 가지를 제외하고 지금까지 꽤 성공적이었다.WindowManager의 VideoView가 업데이트되지 않습니다.
MediaController는 활동이 필요하기 때문에 분명히이 경우 작동하지 않습니다. 그래서 비디오 뷰를 제어하기 위해 내 사용자 정의보기를 작성했습니다. 여기
모든 것이 일시 정지 후 SeekBar를 제외하고 작동에서 그 결과
입니다. 비디오를 일시 중지하고 다시 시작하면 검색 바가 업데이트를 거부합니다. 다음은 seekbar를 재생/일시 중지하고 업데이트하는 코드입니다.play.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
if (playing) {
vv.pause();
play.setImageResource(R.drawable.ic_media_play);
playing = !playing;
} else {
vv.start();
play.setImageResource(R.drawable.ic_media_pause);
playing = !playing;
}
}
});
vv = (VideoView) mView.findViewById(R.id.videoView);
vv.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
sb.setMax(vv.getDuration());
sb.postDelayed(onEverySecond, 60);
}
});
vv.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
close(id);
}
});
sb = (SeekBar) mView.findViewById(R.id.sbar);
sb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
vv.seekTo(sb.getProgress());
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
vv.seekTo(sb.getProgress());
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
if (fromUser) {
vv.seekTo(progress);
// vv.start();
}
}
});
내 실수는 어디에서 볼 수 있습니까?
또한 두 번째 문제는 창의 크기를 조정 한 후에 발생합니다. 일반적으로 창 크기를 조정하면 모든보기가 새 레이아웃 크기를 사용합니다. 나는 SurfaceView와 함께 이것을 시도해 봤지만 작동한다. 그러나 VideoView는 새로운 크기를 채택하지 않습니다. 다음은 창 크기를 변경 한 후의 결과입니다.
이 두 가지에 관해 도움을 줄 수있는 사람이 있습니까? 미리 감사드립니다!
내 VideoView를 지켜 보면서 이미 RelativeLayout의 내에 배치된다. 첫 번째 문제를 해결하는 방법을 알고 있습니까? – EatHeat