Video does not play on Android

The video does not work properly in the code below. What could be the problem for this?

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

Mistake:

Unable to play video
Sorry, this video cannot be played.

+7
source share
5 answers

The link you provided, http://www.youtube.com/v/wwI2w2YHkCQ?fs=1 , is for an HTML page. The URI that must be provided for setVideoURI() must be a media file, such as MP4 or AVI .

VideoView cannot parse an HTML page. It can only decode and play a video file or transmit video content (in this case, the URI should point to a multimedia file, for example http://people.sc.fsu.edu/~jburkardt/data/mp4/cavity_flow_movie.mp4 ). See Stack Overflow Question Using VideoView for streaming or progressive download video .

You must use a web view to open the YouTube link.

+6
source

VideoView and Mediaplayer can only play formats specified in the Supported Media Formats for Android document.

The YouTube video link you provided is for an HTML page. If you play on an HTML page, as mentioned in Karthik, it is better to use Webview .

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

If you want only the video to be viewed on this link, leave all the other details on the page. Suppose this is a YouTube link http://www.youtube.com/watch?v=ZC7ZOGpM2cU&feature=g-logo&context=G233b464FOAAAAAAABAA

If you analyze the source of the YouTube HTML page, you can see this part:

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

In this case, extract the following

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

In this case, the link <http://www.youtube.com/v/ZC7ZOGpM2cU?version=3&amp;autohide=1> will show it in full screen mode.

+2
source

Actually, to play any streaming video I use

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

But I don't think this will work for your link. Better to try

 mediaplayer.setdataSource("your link"). 
+1
source

OK, try the following code. He will work.

 Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse("http://www.youtube.com/v/wwI2w2YHkCQ?fs=1")); startActivity(i); 
+1
source
 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> 
0
source

All Articles