Я искал способ как проигрывать видео и аудио потоки из Интернета в моей апликации.
Есть несколько способов, как это делать и некоторые сработали в моем случае.
1. Играть во внутреннем VideoView.
Это решение я нашел тут how to play video from url
String path="http://www.ted.com/talks/download/video/8584/talk/761"; String path1="http://commonsware.com/misc/test2.3gp"; VideoView videoView = (VideoView) findViewById(R.id.VideoView01); MediaController mc = new MediaController(this); mc.setAnchorView(videoView); mc.setMediaPlayer(videoView); Uri video = Uri.parse(path2); videoView.setMediaController(mc); videoView.setVideoURI(video); videoView.start();
в вашем layout xml файле надо указать следующее:
Этот способ не сработал для меня, потому что я пытался проигрывать одночасовой mp4 файл, которой закачивался в буфер слишком долго и потом проигрывался очень медленно.
2. Играть в установленном медиа плейере.
Это замечательное и простое решение. Найдено тут Launch ACTION_VIEW Intent to play mp4
Uri intentUri = Uri.parse(URL); Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setDataAndType(intentUri, "video/mp4"); startActivity(intent);
В этом случае внешний медиа плейер будет использован. Дополнительно, пользователь сможет выбирать тот проигрыватель, который ему больше нравится, в том случае, если несколько установленно в системе.
Чтобы проигрывать mp3 файл, напишите следующий код.
Uri intentUri = Uri.parse(URL); Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setDataAndType(intentUri, "audio/*"); startActivity(intent);