비디오 재생

안드로이드 장치의 비디오 재생을 구현 <- VideoView(시각적)와 MediaController 클래스(제어역할)

○ VideoView 클래스
1. 단순히 시각적으로 비디오를 보여주는(재생) 동작 구현
2. 비디오 재생 시 주로 사용되는 메서드
- setVideoPath(String path) : 재생될 비디오 미디어의 경로를 문자열로 지정함.(이 경로는 url주소 또는 로컬 경로가 될 수 있음)
※경로를 외부. 즉, url 주소로 가져오는 경우 AndroidMenifest 설정 파일에 인터넷 퍼미션을 추가해야 함
- setVideoUri(Uri uri) : setVideoPath() 와 같은 동작을 수행하지만, 문자열 대신 Uri 객체를 인자로 받음.
- setOnPreparedListener(MediaPlayer.OnPreparedListener) : 비디오 재생 준비가 될 때, 콜백 메서드가 호출될 수 있게 함.
- setCompletionListener(MediaPlayer.OnCompletionListenr) : 비디오의 끝에 도달하면, 콜백 메서드가 호출될 수 있게 함. 
- setOnErrorListener(Medeaplayer.OnErrorListener) : 비디오 재생 중 에러가 발생할 때, 콜백 메서드가 호출될 수 있게 함.
- setMediaContoller(MediaController) : 비디오 재생 컨트롤들을 사용자가 볼 수 있게 해 주는 MediaController 인스턴스를 지정
- start() : 비디오 재생 시작
- stopPlayback() : 비디오 재생 중단
- pause() : 비디오 재생 일시 중지
- isPlaying() : 비디오가 현재 재생 중인지 여부를 boolean 값으로 반환
- getDuration() : 비디오의 재생 시간을 반환(OnPreparedListener() 콜백 메서드에서 호출되지 않을 때는 -1 반환 = 비디오 재생 준비 x)
- getCurrenrPosition() : 현재 재생 위치를 나타내는 정수값 반환
○ MediaContoller 클래스
1. 재생 제어 = VideoView 인스턴스에 MediaController 클래스 인스턴스를 첨부
2. 주요 메서드
- setAnchorView(View view) : 컨트롤러가 고정될 뷰를 지정, 화면상의 컨트롤러 위치를 제어함.
- show() : 컨트롤들을 보여줌
- show(int timeout) : 1/1000초 단위로 지정된 시간 동안 컨트롤들을 보여줌
- hide() : 컨트롤들을 숨김
- isShowing() : 컨트롤들이 현재 사용자에게 보이는지 여부를 boolean 값으로 반환

댓글