Stream a video file with VideoView 비디오 파일 스트리밍 하기
Android 2019. 10. 22. 21:18 |반응형
You can stream a video file with VideoView.
<AndroidManifest.xml>
1 | <uses-permission android:name="android.permission.INTERNET"/> |
<MainActivity.java>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | public class MainActivity extends AppCompatActivity { VideoView videoView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); videoView = findViewById(R.id.videoView); MediaController mediaController = new MediaController(this); videoView.setMediaController(mediaController); Button button = findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { videoView.setVideoURI(Uri.parse("http://nexoft.tk/data/WhileYouWereSleeping.mp4")); // or your video file url. videoView.requestFocus(); videoView.start(); } }); videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { Toast.makeText(getApplicationContext(), "Video play completed", Toast.LENGTH_SHORT).show(); } }); 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"; } Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show(); // Returns true if the method handled the error, false if it didn't. Returning false, or not having an OnErrorListener // at all, will cause the OnCompletionListener to be called. return true; } }); } } |
Run the app and click the PLAY button.
It may not be able to stream the video and show an error message in AVD.
It can stream the video in the actual device.
반응형
'Android' 카테고리의 다른 글
WebView - Display web content as part of your activity layout 앱 안에서 인터넷 웹 페이지 디스플레이 하기 (0) | 2019.11.11 |
---|---|
Play Youtube videos with YouTubePlayer 유튜브 플레이어로 유튜브 영상 재생하기 (0) | 2019.10.24 |
Stream an audio file with MediaPlayer 오디오 파일 스트리밍 하기 (0) | 2019.10.21 |
Take a photo with a camera app and save the full-size photo (0) | 2019.10.18 |
Take a photo with a camera app and get the thumbnail (0) | 2019.10.18 |