Notice
Recent Posts
Recent Comments
Link
투케이2K
379. (android/java) VideoView 비디오 뷰 기본 동작 코드 지정 실시 본문
[개발 환경 설정]
개발 툴 : AndroidStudio
[소스 코드]
VideoView screenVideoView;
screenVideoView = (VideoView)findViewById(R.id.screenVideoView);
public void playMovie(String url){
Log.d("---","---");
Log.w("//===========//","================================================");
Log.d("","\n"+"[A_Pip > playMovie() 메소드 : 영상 재생 실시]");
Log.d("","\n"+"["+"주소 : "+String.valueOf(url)+"]");
Log.w("//===========//","================================================");
Log.d("---","---");
try {
//TODO 비디오 [뷰에 컨트롤 바 추가]
//screenVideoView.setMediaController(new MediaController(this));
//TODO [비디오 뷰에 재생할 URL 지정]
screenVideoView.setVideoURI(Uri.parse(url));
//TODO [비디오 재생 준비 완료 시]
screenVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
try {
//TODO [비디오 재생 시작]
screenVideoView.start();
}
catch (Exception e){
e.printStackTrace();
}
}
});
//TODO [비디오 재생 완료 시]
screenVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
//TODO [Alert 팝업창 알림 실시]
getAlertDialog("[알림]",
"비디오 영상 재생이 완료되었습니다.",
"확인", "취소", "");
}
});
//TODO [비디오 재생에 문제가 발생 시]
screenVideoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mediaPlayer, int i, int i1) {
//TODO [Alert 팝업창 알림 실시]
getAlertDialog("[알림]",
"비디오 영상 재생에 문제가 발생하였습니다.",
"확인", "취소", "");
return false;
}
});
}
catch (Exception e){
progressStop();
e.printStackTrace();
}
}
@Override
public void onDestroy(){
super.onDestroy();
Log.d("---","---");
Log.e("//===========//","================================================");
Log.d("","\n"+"[A_Pip > onDestroy() 메소드 : 액티비티 종료 실시]");
Log.e("//===========//","================================================");
Log.d("---","---");
try {
//TODO [비디오 정지 실시]
if(screenVideoView != null){
screenVideoView.stopPlayback();
}
}
catch (Exception e){
e.printStackTrace();
}
}
@Override
public void onPause() {
super.onPause();
Log.d("---","---");
Log.e("//===========//","================================================");
Log.d("","\n"+"[A_Pip > onPause() 메소드 : 액티비티 실행 정지 실시]");
Log.e("//===========//","================================================");
Log.d("---","---");
try {
//TODO [비디오가 재생중인 경우는 일시 정지 실시]
if(screenVideoView!=null && screenVideoView.isPlaying()) {
//screenVideoView.pause(); //TODO [PIP 모드가 되어도 영상을 계속 재생하기 위해 주석]
}
}
catch (Exception e){
e.printStackTrace();
}
}
반응형
'Android' 카테고리의 다른 글
381. (android/xml) [레이아웃] ToggleButton 토글 버튼 기본 생성 (0) | 2022.11.03 |
---|---|
380. (android/java) CheckBox 체크 박스 클릭 이벤트 확인 실시 - 체크 상태 확인 (0) | 2022.11.02 |
378. (android/xml) [레이아웃] ScrollView 스크롤 뷰 레이아웃 기본 생성 (0) | 2022.11.02 |
377. (android/xml) [레이아웃] CheckBox 체크 박스 이미지 커스텀 지정 실시 (0) | 2022.11.02 |
376. (android/xml) [레이아웃] ProgressBar 프로그레스바 사용해 레이아웃 중앙 배치 로딩 표시 수행 (0) | 2022.11.02 |
Comments