как играть видео с url

Я начинаю разработку Android и пытаюсь воспроизвести видео из ссылки. Но это дает ошибку "sorry,we can't play this video" . Я пробовал так много ссылок, но для всех ссылок его показывают ту же ошибку.

Мой код следующий

 public class VideoDemo extends Activity { private static final String path ="http://demo.digi-corp.com/S2LWebservice/Resources/SampleVideo.mp4"; private VideoView video; private MediaController ctlr; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); getWindow().setFormat(PixelFormat.TRANSLUCENT); setContentView(R.layout.videoview); video = (VideoView) findViewById(R.id.video); video.setVideoPath(path); ctlr = new MediaController(this); ctlr.setMediaPlayer(video); video.setMediaController(ctlr); video.requestFocus(); } } 

Logcat показывает следующее сообщение об ошибке:

 04-12 15:04:54.245: ERROR/PlayerDriver(554): HandleErrorEvent: PVMFErrTimeout 

Это как-то связано с вашей ссылкой и контентом. Попробуйте следующие две ссылки:

  String path="http://www.ted.com/talks/download/video/8584/talk/761"; String path1="http://commonsware.com/misc/test2.3gp"; Uri uri=Uri.parse(path1); VideoView video=(VideoView)findViewById(R.id.VideoView01); video.setVideoURI(uri); video.start(); 

Начните с «path1», это небольшой stream видеосигнала небольшого веса, а затем попробуйте «путь», это более высокое разрешение, чем «path1», идеальное высокое разрешение для мобильного телефона.

У вас есть разрешения, добавленные для доступа в Интернет?

Попробуй это:

 String LINK = "type_here_the_link"; setContentView(R.layout.mediaplayer); VideoView videoView = (VideoView) findViewById(R.id.video); MediaController mc = new MediaController(this); mc.setAnchorView(videoView); mc.setMediaPlayer(videoView); Uri video = Uri.parse(LINK); videoView.setMediaController(mc); videoView.setVideoURI(video); videoView.start(); 
 pDialog = new ProgressDialog(this); // Set progressbar message pDialog.setMessage("Buffering..."); pDialog.setIndeterminate(false); pDialog.setCancelable(false); // Show progressbar pDialog.show(); try { // Start the MediaController MediaController mediacontroller = new MediaController(this); mediacontroller.setAnchorView(mVideoView); Uri videoUri = Uri.parse(videoUrl); mVideoView.setMediaController(mediacontroller); mVideoView.setVideoURI(videoUri); } catch (Exception e) { e.printStackTrace(); } mVideoView.requestFocus(); mVideoView.setOnPreparedListener(new OnPreparedListener() { // Close the progress bar and play the video public void onPrepared(MediaPlayer mp) { pDialog.dismiss(); mVideoView.start(); } }); mVideoView.setOnCompletionListener(new OnCompletionListener() { public void onCompletion(MediaPlayer mp) { if (pDialog.isShowing()) { pDialog.dismiss(); } finish(); } }); 

Вы можете сделать это, используя class FullscreenVideoView . Это небольшой проект библиотеки. В нем встроен диалог видеопрограммы. Это gradle:

 compile 'com.github.rtoshiro.fullscreenvideoview:fullscreenvideoview:1.1.0' 

ваш VideoView xml похож на этот

  

В своей деятельности инициализируйте его следующим образом:

  FullscreenVideoLayout videoLayout; videoLayout = (FullscreenVideoLayout) findViewById(R.id.videoview); videoLayout.setActivity(this); Uri videoUri = Uri.parse("YOUR_VIDEO_URL"); try { videoLayout.setVideoURI(videoUri); } catch (IOException e) { e.printStackTrace(); } 

Вот и все. Счастливое кодирование 🙂

Если вы хотите узнать больше, посетите здесь

Изменить: путь к gradleиенту обновлен. скомпилируйте его сейчас

 compile 'com.github.rtoshiro.fullscreenvideoview:fullscreenvideoview:1.1.2' 

проверьте эту ссылку: http://developer.android.com/guide/appendix/media-formats.html

videoview не может поддерживать некоторый кодек .

я предложил вам использовать медиаплеер, когда «жаль, не могу играть в видео»,

Я также застрял в этом вопросе. Я получил правильный ответ от сервера, но не смог воспроизвести видео. После долгого времени я нашел решение здесь . Возможно, в будущем эта ссылка будет недействительной. Итак, вот мой правильный код

  Uri video = Uri.parse("Your link should be in this place "); mVideoView.setVideoURI(video); mVideoView.setZOrderOnTop(true); //Very important line, add it to Your code mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mediaPlayer) { // here write another part of code, which provides starting the video }} 

Проверьте, поддерживает ли ваш телефон формат видео или нет. Даже если у меня возникла проблема при воспроизведении 3gp-файла, но он отлично воспроизводил файл mp4.

Давайте будем гением компьютера.