-
[ Android ] 동영상 파일 재생하기Android/멀티미디어 2020. 3. 24. 17:08
이 글은 부스트코스 강의를 공부하며 요약한 글입니다.
CatServant
실행 결과



Code
- AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WAKE_LOCK"/>android.permission.WAKE_LOCK
CPU가 켜진 상태를 유지 한다. wake lock을 사용하면 Application에서 호스트 기기의 전원 상태를 제어할 수 있습니다. wake lock을 생성하고 유지하는 것은 호스트 기기의 배터리 수명에 심각한 영향을 미칠 수 있습니다. 따라서, wake lock은 꼭 필요한 경우에만 사용하고 가능한 한 짧은 시간 동안 유지해야 합니다.
- MainActivity.java
public class MainActivity extends AppCompatActivity { VideoView videoView; public final static String url = "https://sites.google.com/site/ubiaccessmobile/sample_video.mp4"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); 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 mp) { Toast.makeText(getApplicationContext(), "동영상 준비됨.", Toast.LENGTH_LONG).show(); } }); Button button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { videoView.seekTo(0); videoView.start(); } }); // Error 메세지 표시 videoView.setOnErrorListener(new MediaPlayer.OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { String message; switch (what) { case MediaPlayer.MEDIA_ERROR_UNKNOWN: message = "MEDIA_ERROR_UNKNOWN"; break; case MediaPlayer.MEDIA_ERROR_SERVER_DIED: message = "MEDIA_ERROR_SERVER_DIED"; break; default: message = "No what"; } switch (extra) { case MediaPlayer.MEDIA_ERROR_IO: message += ", MEDIA_ERROR_IO"; break; case MediaPlayer.MEDIA_ERROR_MALFORMED: message += ", MEDIA_ERROR_MALFORMED"; break; case MediaPlayer.MEDIA_ERROR_UNSUPPORTED: message += ", MEDIA_ERROR_UNSUPPORTED"; break; case MediaPlayer.MEDIA_ERROR_TIMED_OUT: message += ", MEDIA_ERROR_TIMED_OUT"; break; default: message += ", No extra"; } Log.e("error Tag : ", message); return true; } }); } }계속 아래와 같은 Error를 만나서 이유를 찾아봤으나 MEDIA_ERROR_UNKNOWN 에 대한 정보를 얻을 수 없었습니다.

Error 그런데 URL을 http 에서 https 로 고쳤을 뿐인데 해결되었다. 주소창을 통해서 접근할 때는 http로 접근이 가능해서 URL의 문제는 아니라고 생각했는데 고쳐져서 이유는 모르겠다.
출처
1. https://www.edwith.org/boostcourse-android/lecture/17105/
2. https://s-engineer.tistory.com/124?category=856192
3. https://developer.android.com/training/scheduling/wakelock?hl=ko
기기를 켜진 상태로 유지 | Android 개발자 | Android Developers
배터리 소모를 피하고자 유휴 상태의 Android 기기는 빠르게 대기 상태로 전환됩니다. 그러나, 애플리케이션이 일부 작업을 완료하기 위해 화면 또는 CPU를 절전 모드에서 해제하고 켜진 상태로 유지해야 하는 경우도 있습니다. 이를 위해 취하는 접근 방식은 앱의 필요에 따라 다릅니다. 하지만 일반적인 규칙은 앱이 시스템 리소스에 미치는 영향을 최소화할 수 있는 가능한 한 가장 가벼운 방식을 사용하는 것입니다. 다음 섹션에서는 기기의 기본 절전 동작이 앱의
developer.android.com
[LECTURE] 2) 동영상 재생하기 : edwith
들어가기 전에 동영상을 재생한다고 하면 굉장히 어렵고 복잡한 과정을 거쳐야 하는 것으로 생각할 수 있지만, 음악 파일을 재생하는 과정만큼 간단하게 재생할 수 있습니다. 물론 화면에... - 부스트코스
www.edwith.org
Stream a video file with VideoView 비디오 파일 스트리밍 하기
You can stream a video file with VideoView. 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19..
s-engineer.tistory.com
'Android > 멀티미디어' 카테고리의 다른 글
[ Android ] 임시 파일 생성해서 외부 앱으로 찍은 사진 받기 (0) 2020.09.16 [ Android ] 음성 녹음하기 (1) 2020.03.26 [ Android ] 음악 재생하기 (0) 2020.03.25 [ Android ] 사진 미리보기 - Camera 이용 (0) 2020.03.17 [ Android ] 사진 찍기 (0) 2020.03.16