본문 바로가기

Android/Basic

[Android] 동영상 재생하기

 음악 플레이어의 경우 화면이 없기 때문에 레이아웃을 딱히 추가할 필요가 없지만, 동영상 플레이어는 화면을 띄워주어야 하기 때문에 별도의 레이아웃을 구성해야한다. 이 레이아웃을 구성하기 쉽도록 제공하는 것으로 VideoView 가 있다. 이 뷰에서 제공하는 메서드를 사용하기만 하면 된다.


0. manifest 에 권한 추가

<uses-permission android:name="android.permission.INTERNET"/>


1. xml 레이아웃 구성

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="시작" />

<VideoView
android:id="@+id/videoView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button"
android:layout_centerHorizontal="true" />
</RelativeLayout>


2. 메인 액티비티

 여기서 VideoView  객체를 찾아 미디어 컨트롤러를 설정하거나, 동영상 파일의 위치를 설정할 수 있다. 미디어 컨트롤러는 동영상 재생이나 중지를 위한 버튼과 같은 화면을 보여주는 역할을 한다.

public class MainActivity extends AppCompatActivity {
public static String url = "http://sites.google.com/site/ubiaccessmobile/sample_video.mp4";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

final VideoView videoView = findViewById(R.id.videoView);

// 화면 하단에 추가되는 동영상 컨트롤러
MediaController controller = new MediaController(this);
videoView.setMediaController(controller);

videoView.setVideoURI(Uri.parse(url));
videoView.requestFocus(); // 파일에 대한 정보를 일부 가져옴

// 준비 과정이 끝난 후 재생 가능
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
// 이 파일이 확실하게 존재하고, 동영상을 재생할 준비가 되었을 경우 호출
Toast.makeText(MainActivity.this, "동영상 준비됨.", Toast.LENGTH_SHORT).show();
}
});

findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
videoView.seekTo(0); // 처음 위치로
videoView.start();
}
});
}
}


 추가로 볼륨 조절 기능은 오디오 매니저를 이용해 구성할 수 있다.



- 참고할 사이트

https://developer.android.com/guide/topics/media/mediaplayer#java

http://bcho.tistory.com/1056

- 출처 : 부스트코스 강의

'Android > Basic' 카테고리의 다른 글

[Android] 스레드 애니메이션  (0) 2018.09.07
[Android] 음성 녹음하기  (2) 2018.08.29
[Android] 음악 재생하기  (0) 2018.08.28
[Android] 카메라로 사진 촬영하기  (2) 2018.08.27
[Android] 인터넷 연결상태 체크하기  (0) 2018.07.31