I am trying to play a video inside my app. Now as a source I only have the public URL of the video, e.g
www.youtube.com/watch?v=0OnPN6YxPuc
Can i use this to play the video inside the app, like using the videoView or MediaPlayer or something like that? The video can be from any provider, not specifically from Youtube e.g Vimeo, Dailymotion etc.
Currently i am using intent on click and it opens the browser or some app if installed and plays the video there. I want it to play inline. Webview is an option but the problem is Android v 4 > has good HTML5 support n bad Flash support, and <4 have good flash and bad HTMl5.
Is it the only option i have? Any pointers would be a great help.
Related
I'm looking for a solution about YouTube in Android.
When my WebView in app connects an webpage, some pages may have embedded YouTube clip.
When I press the RED play button in the center of embedded clip, it plays well. Yes I set enabled JavaScript , plugins, hardware acceleration etc. But it ONLY plays in the WebView internal media player.
I've tried with several libraries such like YouTube API that provided by Google, but It just provides Views and interfaces, and cannot convert a YouTube clip in WebView to a YouTubeView (If you know how to convert, let me know).
All I want is simple. Hit a red play button in embedded YouTube, then my app launches YouTube App (or stock media player) so play the YouTube clip.
iPhone can do this very simply with the stock player, but I can't understand why Android can't do so.
Please check whether "YouTube" application is install on your device? If yes then just update it.And most of the time you tube application not working properly on emulator..
I would like to play a HTML5 video back to the user directly in the native android video player.
My current setup takes way too much effort to get into the native video player: Currently I have a WebView with an embedded HTML5 video (such as a Youtube or Vimeo HTML5, not flash, embed). The user has to hit play on the video, and then hit the fullscreen button (on far right in the picture below)
Then it opens in the native player which looks like this:
The native player is a View is a much better experience for video playback. (I believe it is a VideoView? though maybe it is different in newer versions of Android. It is a View within my Activity so provides extra control. See this post for more info.)
I'm looking for a graceful way of directly launching into this experience instead of having to load the embed in a WebView and then leaving it to the user to tap the full screen button.
Any ideas?
Thanks!
I need to play a video with fullscreen when a user plays it.
Unfortunately, as far as I understand, if the HTML5 Video tag is used, Android plays it in-frame. So that tried webkitEnterFullScreen() and it seems to work(kind of...) but user has to click the play button again. Overall performance feels a bit clumsy and not sure if old OS like 2.0+ could handle it.
As an alternative method, I'm now trying to play video using direct link rather than the Video tag. For example, [a href="video.mp4"]Click to play[/a]. I think that it works well but the only problem is that it asks to choose a application either 'Video Player' or 'Browser'.
So my question is
How can I define using javascript to play the video using Video Player, so that the selection dialog won't prompt?.
What is the native video player for Android? For example, iOS uses Quicktime and it is possible to embed video using Quicktime object. And are there any equivalent method for Android?
When the Video tag is used, how to play video simultaneously with fullscreen?
try following code :
String path1="/path/to/video/file.3gp";
Uri uri=Uri.parse(path1);
VideoView video=(VideoView)findViewById(R.id.VideoView01);
video.setVideoURI(uri);
video.start();
You have to realize something very important: There is no native video player for android.
There is a dozens players for android and it is not your decision but the users decision if he should use player A or B. Don't try to force Android users to iOS behavior, it really doesn't give a better impression.
First some details to help explain:
If you load a Vimeo link such as the following:
http://player.vimeo.com/video/40234826, or use their iframe embed code,
into a WebView, one of two things will happen.
If the device has the Adobe Flash Player app/plugin installed, it will display Vimeo's embedded player. Tapping play, plays the video inline as an embed.
If the device does not have the flash plugin, it will display an image with a play button. Tapping play, opens the Video in a system VideoView. (Because the button links to an mp4 file.)
Since Vimeo's embedded play can be a bit buggy on the vast variety of devices available, I have found that option 2, playing the Vimeo video in an Android media player is a much better experience.
Now the question is, how can I convince the WebView not to use Flash?
I have tried webview.getSettings().setPluginsEnabled(false); but it still loads the flash embed version. How can I trick Vimeo's player into thinking the device does not have flash installed?
Thanks
Update
After further investigating, it seems that setPluginState(PluginState.OFF) works pre honeycomb, but this doesn't work on Honeycomb and ICS.
I want to find out wether Videos on Mobile Websites play inline or in a video application. If they play in an video application: are these applications device specific or is it always the same? Does someone have a link to the look of the controls so that I can build a photoshop preview on how my web video will look on Android?
EDIT
By inline, I mean that it does not play in an external app like it does on the iphone (opens quicktime player whenever you click a video on m.youtube.com) but that it just plays inside the browser.
HTML5 video tag supported on some androids see HTML5 <video> element on Android