cómo reproducir video desde url

Soy principiante en el desarrollo de Android e bash reproducir video desde el enlace. Pero está dando el error "sorry,we can't play this video" . Intenté tantos enlaces, pero para todos los enlaces, muestra el mismo error.

Mi código es el siguiente

 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 muestra el siguiente mensaje de error:

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

Tiene algo que ver con tu enlace y contenido. Pruebe los siguientes dos enlaces:

  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(); 

Comience con “path1”, es una transmisión de video pequeña y liviana y luego pruebe la “ruta”, es una resolución más alta que “path1”, una alta resolución perfecta para el teléfono móvil.

¿Tiene los permisos agregados para el acceso a internet?

Prueba esto:

 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(); } }); 

Puedes hacerlo usando la clase FullscreenVideoView . Es un pequeño proyecto de biblioteca. Su diálogo de progreso de video está incorporado. Es gradle es:

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

su VideoView xml es así

  

En tu actividad, inicialízalo usando esta forma:

  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(); } 

Eso es. Feliz encoding 🙂

Si quieres saber más, visita aquí

Editar: la ruta gradle se ha actualizado. comstackrlo ahora

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

por favor, consulte este enlace: http://developer.android.com/guide/appendix/media-formats.html

videoview no admite algunos códecs .

Le sugerí que use mediaplayer, cuando “lo siento, no puedo reproducir el video”

También me quedé atascado con este problema. Recibí la respuesta correcta del servidor, pero no pude reproducir el video. Después de mucho tiempo encontré una solución aquí . Tal vez, en el futuro, este enlace no sea válido. Entonces, aquí está mi código correcto

  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 }} 

Comprueba si tu teléfono es compatible o no con el formato de video. Incluso tuve el problema al reproducir un archivo de 3gp pero reproducía perfectamente un archivo mp4.