top drop menu

Recent Post

수요일, 7월 6

안드로이드 스튜디오(5) - 비디오 영상을 재생하기

이번에는 간단하게 인터넷에 있는 mp4 비디오 파일을 불러서 재새해 보도록 하자. 먼저 레이아웃을 아래 같이 만들었다.

<LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignStart="@+id/videoView" android:padding="0dp"> <VideoView android:layout_width="wrap_content" android:layout_height="240dp" android:id="@+id/videoView" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="40dp" /> </LinearLayout>

VideoView를 Container에서 추가해 준다. VideoView만으로 화면을 구성할려니 좌우로 꽉 차게 하는등의 어려움이 있었다. 그래서 LinearLayout를 하나 추가해주고 그 안에 VideoView를 넣어 주었다. 여백 없이 꽉 차게 해주었다. 샘플에서는 간단히 한다고 비디오영역만 지정해 주었지만 아래쪽에 사용자가 만든 버튼이나 다른 컨텐츠가 온다면 배치에 좀 더 신경을 써야 할 듯 하다. 일단 간단히 재생만 해보자. 

package com.example.js.myvedioviewer; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.VideoView; import android.widget.MediaController; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //Video play final VideoView videoView = (VideoView) findViewById(R.id.videoView); videoView.setVideoPath("http://clips.vorwaerts-gmbh.de/VfE_html5.mp4"); MediaController mediaController = new MediaController(this); mediaController.setAnchorView(videoView); mediaController.setPadding(0, 0, 0, 80); //상위 레이어의 바닥에서 얼마 만큼? 패딩을 줌 videoView.setMediaController(mediaController); videoView.start(); } }


자바 클래스는 위와 같이 작성하였다. 비디오 재생과 컨트롤러 사용에 필요한 것들을 임포트 해주고 
영상을 재생하고 기본 비디오 컨트롤러가 나오도록 해 준다. 그런데 컨트롤러 위치가 맞지 않다면 다시 손을 봐서 재생화면 위에 정확히 나오도록 해줘야 하는것 같다. 몇몇 방법이 있는것 같은데 간단히 패딩을 지정해 주는것으로 구현했다. VideoView의 높이를 숫자로 지정해 줬는데 이부분은 수정이 필요해 보인다. 



Blogger Widget