#android #android-videoview #mediacontroller
#Android #android-видеообзор #mediacontroller
Вопрос:
Я использую приведенный ниже код для тестирования на эмуляторе и устройстве, результатом стало то, что эмулятор может отображать MediaController чуть ниже видеообзора (по умолчанию находится в нижней части экрана). Однако, когда я тестировал в device, он не показывает мне MediaController. Я хотел бы знать, почему.
final VideoView videoView = (VideoView)findViewById(R.id.videoGuide1);
videoView.setOnPreparedListener(new OnPreparedListener(){
@Override
public void onPrepared(MediaPlayer mp){
mp.setOnVideoSizeChangedListener(new OnVideoSizeChangedListener(){
@Override
public void onVideoSizeChanged(MediaPlayer mp, int width, int height){
MediaController mediaController = new MediaController(WatchVideo.this);;
videoView.setMediaController(mediaController);
mediaController.setAnchorView(videoView);
}
});
}
});
Комментарии:
1. проверьте мой ответ и попробуйте это
Ответ №1:
Попробуйте это, это сработало для меня….
VideoView vv;
vv = (VideoView) findViewById(R.id.videoView);
vv.setVideoPath(filename);
vv.setMediaController(new MediaController(this));
vv.requestFocus();
vv.start();
}
}
Ответ №2:
Попробуйте этот способ
MediaController controller;
Videoview videoview;
videoview=(VideoView)findViewById(R.id.videoview);
controller = new MediaController(this);
videoview.setVideoURI(Uri.parse(path));
videoview.setMediaController(controller);
controller.setMediaPlayer(videoview);
videoview.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
int duration = videoview.getDuration();
videoview.requestFocus();
videoview.start();
controller.show();
Log.d("Video view is prepared","------>");
}
});