728x90
반응형
public class Video_Activity extends AppCompatActivity {
/*
* 비디오 뷰는 두가지 방법이 있다.
* 1) MediaPlayer 를 사용 하는 방법.
* 2) VideoView 를 사용 하는 방법.
*
* 아래는 2번 방법으로 구현 해보았다.
* 동영상이 재생이 안되는 경우는 http -> https 로 바꾼다.
* */
VideoView video_view;
AppCompatButton btn_set;
// sample 데이터
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video);
init();
}
void init(){
video_view = findViewById(R.id.video_view);
video_view.setOnPreparedListener(preparedListener);
video_view.setOnErrorListener(errorListener);
set_video();
btn_set = findViewById(R.id.btn_set);
btn_set.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
video_view.seekTo(0);
video_view.start();
}
});
}
void set_video(){
// 로컬 재생
// Uri uri = Uri.parse("android.resource://" + getPackageName() + "/raw/sample");
// Uri 재생
String test ="https://sites.google.com/site/ubiaccessmobile/sample_video.mp4";
Uri uri = Uri.parse(test);
video_view.setMediaController(new MediaController(this));
video_view.requestFocus();
video_view.setVideoURI(uri);
}
MediaPlayer.OnPreparedListener preparedListener = new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
Toast.makeText(Video_Activity.this,
"동영상이 준비되었습니다. \n'시작' 버튼을 누르세요", Toast.LENGTH_SHORT).show();
}
};
MediaPlayer.OnErrorListener errorListener = new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.d("Woongs","what : " +what );
Log.d("Woongs","extra : " +extra );
return false;
}
};
}
728x90
반응형
'Android' 카테고리의 다른 글
android ISP 연동 관련 (0) | 2022.01.25 |
---|---|
안드로이드 주소록 연락처 가져오기 (0) | 2021.10.08 |
안드로이드 갤러리 모든 불러오기 Cursor ( Android q ) (0) | 2021.09.03 |
안드로이드 동적 뷰생성 ( inflate ) (0) | 2021.09.02 |
Android Intent startActivityForResult Deprecate 이슈 (0) | 2021.08.24 |