Is there a possible configuration for video.js that hides native controls on iPhone? I'd like to also be able to autoplay, but that's significantly less important. My main concern is to be able to use my nicely designed javascript controls, instead of the ugly, clunky native controls.
The video element is very constrained on iPhone. If you want to play HTML5 video at all, you have to use the native fullscreen player. iPads offer more freedom but are still limited compared to desktop browsers. Neither device allows autoplay. Apple's documentation has more details.
Related
How do I generate a audio and video preview function exactly like it is in Dropbox iPhone app? Is it AVPlayer or MPMoviePlayer? Or is it custom made controls and slider? I need exact same controls and slider option.
Also I need to play the video and audio using a web service. The files are on the server. So I need to buffer them and play them as they get buffered.
Please suggest some help.
I'm not sure what is in the Dropbox app.
AVPlayer doesn't include any search etc. controls, and adding them yourself is fiddly. Consider instead MPMoviePlayerViewController (a newer controller class which wraps the old MPMoviePlayerController).
Be aware of the iOS limitations of whatever classes/techniques you use. For example, if you want your code to work pre-iOS3.2, you need to use MPMoviePlayerController directly (when running on iOS < 3.2) instead of MPMoviePlayerViewController. If the device iOS >= 3.2, you use MPMoviePlayerViewController.
Disclaimer: I don't know all of your requirements etc. For a good overview of the complicated history of multimedia APIs, check out this page.
There are a ton of SO posts on audio, HTML5, and mobile Safari, such as these:
Reusing HTML5 Audio Object in Mobile Safari
Autoplay an Audio File on Mobile Safari
Preloading HTML5 Audio in Mobile Safari
Will HTML5 support the access of offline cached audio?
However, they all are outdated.
We prefer solutions to support iOS 3+, but we will take anything that works -- even if it's restricted to iOS 5.
Anyone have the definitive answer as things stand today, or testers on iOS 5 have any insights?
Can audio files be cached in mobile Safari? If so, what are the limitations?
Is there a way to minimize lag or delay between pressing a button and playing a sound?
Thanks!
I recently wrote an HTML5 audio player. I had similar trouble with iOS4 and iOS5. First, the play has to be triggered by user input, meaning specifically that it has to be in the same call stack as a click event.
I tested this a lot, and iOS seemed to refuse to cache the audio at all. It fetched the audio with every play. I think this should be considered a bug, but perhaps they are trying to preserve local storage space (audio files can get rather large).
If your audio files are not too large, you might want to consider appending them together into a single file and then using pause / jump to position / play to switch between sounds. I haven't tried it, but it should work. I didn't use the technique because my app was a music player, and music files are a bit too large for that technique to be valuable.
I need to have an intro video for a site which I need to work on all browsers including safari on the iphone and IE6. I am thinking of trying to do flash with a html5 fallback or vice versa.
Has anyone had any experience of attempting this? I need to try and get a smooth a transition from the video into the content of the website as possible. Am not sure what limitations exist on the iphone?
I know intro videos aren't well liked but this is a requirement for the site.
EDIT -
One thing I would really like to be able to do is play video in page on an iphone automatically, while it is looking like it isn't possible I need to know for sure as I have been told it may be using some combination of canvas and video elements or wrapping the video element in some way. I was sent the following link
http://html5doctor.com/video-canvas-magic/
You need to stop and determine what's more important: Supporting a browser that is over a decade old or supporting a platform that is growing rapidly. That's really it. But if you continue on that line of thought, you'll learn quickly that you can't do HTML5 animations in any stable version of IE currently anyways.
So, you have two options. Develop in HTML5 and place alternative text in it's place for all IE visitors or develop in Flash and place alternative text in it's place for all iOS devices. Honestly, doing the same video twice (Flash and HTML5) seems like wasted effort. (Even with Google's new "Swiffy" SWF -> HTML 5 convertor, it's good, but it's not perfect and it doesn't support audio.)
If it was me in your shoes, I'd go with HTML5. IE10 is right around the corner and it supports animations. HTML5 is the new standard and that's the way everything is going. It seems like the logical choice to me.
I am working on a website that works across all mobile browsers specifically Android, iOS and BB. I have used the experimental jQuery mobile for the consistent look and feel. One of the pages require audio to be recorded and played back for this I did some research and found that HTML5 has support for this but still part of the spec so it may not available on these browsers yet, so I was wondering if there is any workaround for this. I atleast know of one such application that captures audio and its Google Voice for iPhone and I read somewhere that they use HTML5 so does that mean safari has support for HTML5 audio capture? Please suggest.
For audio playback, you can use this test page on all of your supported platforms and browsers. It should confirm which HTML5 audio playback constructs will work:
http://www.jplayer.org/HTML5.Audio.Support/
It sounds like there are issues with even getting playback to work on Android, see here for info:
http://textopiablog.wordpress.com/2010/06/25/browser-support-for-html5-audio/
I haven't seen anything about current browser support for audio recording through HTML5. You could try Java or Flash, but Java requires the user to have it installed (and accept suitable permissions), and Flash requires you to set up a server for the data to be sent to (e.g. Red5)...and remember that Flash does not work on iOS.
I'm trying to build a web application for iPhone and Android that deals with audio input.
Is this possible?
Apparently ... yes, or it should be able to when it's finished at least. It will supposedly become possible using the device API which is due to be part of HTML5 when it's finished and released (HTML5 isn't finalised yet however, and information is subject to potential for change).
W3C Device API Requirements (camera section)
Sony Erricson community blog posting, with examples (pre-final API)
While it isn't explicitly mentioned in the W3C spec, audio recording as part of (web)camera interactions is, so it's definitely hopeful. There seems to be a shortage of good information at this stage though. I'd expect to see more as HTML5 comes closer to being finalised.
As of now, HTML5 Can't record Audio. but in future, it will be able to, by using the Device's native features.
HTML 5 can not record audio (at least currently). HTML basically is a markup language and therefore only declares how a browser should display certain content. Although HTML 5 introduces new features that make some interaction possible, you can't record audio straight into.. HTML (even saying that sounds wrong). When the HTML5 spec is finished, it might become reality, until then, no way.
Web applications that record audio normally require a plugin like Flash or Silverlight, because those can access system resources like audio hardware. Both are a no-go on iOS, although Flash is theoretically possible on Android, I don't know if it supports audio input.
I would suggest you write a native app (for iOS and Android) that can access the audio hardware and connects to your web application in the background, so that the recording takes place natively and the recorded audio will be transmitted to your servers (think of Shazam, for example).
Here are the basic developer guides on recording audio in:
Android
OS X, iOS
A new MediaStream Recording API is being worked on. It is currently availble only in the Firefox Nightly build for demo purposes
Here's the draft with the latest updates directly form W3C site:
https://dvcs.w3.org/hg/dap/raw-file/default/media-stream-capture/MediaRecorder.html
Also the following article covers up other attempts on recording audio and video directly in the browser:
http://hdfvr.com/html5-video-recording