El video no se reproduce en Android

El video no funciona correctamente en el código abajo mencionado. ¿Cuál podría ser el problema para esto?

MediaController mediaController = new MediaController(getBaseContext()); mediaController.setAnchorView(videoweb); Uri video = Uri.parse("http://www.youtube.com/v/wwI2w2YHkCQ?fs=1"); videoweb.setMediaController(mediaController); videoweb.setVideoURI(video); videoweb.start(); 

Error:

No se puede reproducir el vídeo
Lo sentimos, este vídeo no puede ser reproducido.

El enlace que has proporcionado, http://www.youtube.com/v/wwI2w2YHkCQ?fs=1 , es para una página HTML. El URI a ser proporcionado para setVideoURI() debe ser un archivo multimedia como MP4 o AVI .

VideoView no puede analizar una página HTML. Sólo puede decodificar y reproducir un archivo de vídeo o transmitir un contenido de vídeo (en este caso, el URI debe apuntar al archivo multimedia, como http://people.sc.fsu.edu/~jburkardt/data/mp4/cavity_flow_movie.mp4 ). Consulte la pregunta sobre el desbordamiento de la pila Uso de VideoView para streaming o video de descarga progresiva .

Debe utilizar una vista Web para abrir el enlace de YouTube.

VideoView y Mediaplayer sólo pueden reproducir formatos presentados en el documento Formatos de soporte compatibles con Android .

El enlace del video de YouTube que has dado es para una página HTML . Si está jugando una página HTML como la mencionada por Karthik, es mejor usar Webview .

 String url = "your_youtube_link"; Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 

Si desea que sólo se vea el video desde ese enlace, deje todos los demás detalles en la página. Supongamos que este es el enlace de YouTube http://www.youtube.com/watch?v=ZC7ZOGpM2cU&feature=g-logo&context=G233b464FOAAAAAAABAA

Si analiza el origen de la página HTML de YouTube, puede ver esta parte:

 <link rel="alternate" type="application/json+oembed" href="http://www.youtube.com/oembed?url=http%3A//www.youtube.com/watch?v%3DZC7ZOGpM2cU&amp;format=json" title="Bigg Boss 5: Juhi Parmar wins Big Boss season 5"> <link rel="alternate" type="text/xml+oembed" href="http://www.youtube.com/oembed?url=http%3A//www.youtube.com/watch?v%3DZC7ZOGpM2cU&amp;format=xml" title="Bigg Boss 5: Juhi Parmar wins Big Boss season 5"> <meta property="fb:app_id" content="87741124305"> <meta property="og:url" content="http://www.youtube.com/watch?v=ZC7ZOGpM2cU"> <meta property="og:title" content="Bigg Boss 5: Juhi Parmar wins Big Boss season 5"> <meta property="og:description" content="Ntv News: Juhi Parmar wins Bigg Boss 5 - Juhi Parmar wins &#39;Bigg Boss 5&#39;, takes home Rs.1 crore - No kid for now, keen for good work: Juhi Parmar"> <meta property="og:type" content="video"> <meta property="og:image" content="http://i3.ytimg.com/vi/ZC7ZOGpM2cU/hqdefault.jpg"> <meta property="og:video" content="http://www.youtube.com/v/ZC7ZOGpM2cU?version=3&amp;autohide=1"> <meta property="og:video:type" content="application/x-shockwave-flash"> <meta property="og:video:width" content="396"> <meta property="og:video:height" content="297"> <meta property="og:site_name" content="YouTube"> 

En esto, extraiga lo siguiente

 <meta property="og:video" content="http://www.youtube.com/v/ZC7ZOGpM2cU?version=3&amp;autohide=1"> 

En este enlace, el <http://www.youtube.com/v/ZC7ZOGpM2cU?version=3&amp;autohide=1> lo mostrará en pantalla completa.

En realidad, para reproducir cualquier video en streaming que esté usando

 startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.youtube.com/v/wwI2w2YHkCQ?fs=1"))); 

Pero no creo que esto vaya a funcionar para su enlace. Mejor intentarlo

 mediaplayer.setdataSource("your link"). 

Aceptar, prueba el siguiente código. Funcionará.

 Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse("http://www.youtube.com/v/wwI2w2YHkCQ?fs=1")); startActivity(i); 
 private VideoView mVideoView; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); mVideoView = (VideoView) findViewById(R.id.surface_view); } private void playVideo() { try { final String path = "http://www.youtube.com/v/wwI2w2YHkCQ?fs=1" System.out.println("path "+path); Log.v(TAG, "path: " + path); if (path == null || path.length() == 0) { Toast.makeText(VideoViewDemo.this, "File URL/path is empty", Toast.LENGTH_LONG).show(); } else { System.out.println("else "); // If the path has not changed, just start the media player if (path.equals(current) && mVideoView != null) { System.out.println("mVideoView.start() "); mVideoView.start(); mVideoView.requestFocus(); return; } current = path; //mVideoView.setVideoPath(getDataSource(path)); mVideoView.setVideoURI(Uri.parse(path)); mVideoView.start(); mVideoView.requestFocus(); } } catch (Exception e) { Log.e(TAG, "error: " + e.getMessage(), e); if (mVideoView != null) { mVideoView.stopPlayback(); } } } 

Main.xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <EditText android:id="@+id/path" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <LinearLayout android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="fill_parent" > <ImageButton android:id="@+id/play" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/play"/> <ImageButton android:id="@+id/pause" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/pause"/> <ImageButton android:id="@+id/reset" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/reset"/> <ImageButton android:id="@+id/stop" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/stop"/> </LinearLayout> <VideoView android:id="@+id/surface_view" android:layout_width="fill_parent" android:layout_height="fill_parent"> </VideoView> </LinearLayout> 
  • Android MediaController intercepta todos los demás eventos táctiles
  • MediaController siempre se muestra en Android
  • Crash en MediaController.show ()
  • Extensión de MediaController para android
  • Uso de MediaController en Android 5
  • Posicionamiento de MediaController
  • ExoPlayer y comandos start / pause / seekTo
  • Manteniendo MediaController en la pantalla en un VideoView
  • Android - MediaController pierde la actividad
  • (Contexto, Token) en la instancia de MediaController
  • Reproductor multimedia con YouTube?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.