LongTail Video is now JW Player - New Name, Same Passion For Video


JW Player Forums



JW 5.4 (html5) iPad compatibility (control bar / playlist)

1 reply [Last post]

Hi guys,
Thank you for your hard work on JW lately (5.3 and 5.4). Lots of changes these days with HTML5 on the block.

I do have a problem with iOS devices (i'll concentrate on the iPad) video playback with the control bar. iPad (iOS 4.2.1) html5 video playback is using the native control bar and control elements, and overwrite the configured skin (that displays on PC/MAC browsers (even Safari).
This is a problem for me as I overlay prompts / questions over the video in JS and capture the mouse clicks in the video screen.

I do not want to see iPad control bar overlaying the video, i'd like to see JW control bar (like skinned) instead.

I see that FlowPlayer has a iPad JS plugin to make the playback (skin)-compatible with iPad (see http://flowplayer.org/plugins/javascript/ipad.html). That is brilliant.
Without this plugin the video can be played on iPad but it's played in native (fullscreen) player. But the plugin allows the video to be played without the iPad controls.
Do you offer anything similar?
What are my best chances to get around that problem?

I should mention that I disable the webKitFullScreen function calls in the jwplayer JS file (see below):

this.fullscreen = function(state) {
/* if (navigator.vendor.indexOf("Apple") === 0) {
if (_model.getMedia().getDisplayElement().webkitSupportsFullscreen) {
if (state) {
_model.fullscreen = false;
} else {
} else {
_model.fullscreen = false;
} else {

This is so Safari does not go into real full screen playback but sticks to window full screen.

Can I also add something about playlist support on iPad. I have a JSON playlist setup that works perfectly on Safari and all other browsers on Pc/Mac. But it's not working properly on iPad.
On iPad the first playlist item is played, and the poster of the second playlist item is shown on completion of the first item playback, but it's not played automatically.
I've tried with autoplay set to true/false but that does not change anything. I know there was a bug report (1086) that appears to be fixed but it's not working for me.
Be assured that I am using the latest SVN trunk code.
Can you try that again for me?
That's also a big issue for me.

Looking forward to your inputs on this.
Cheers / Matt

Regarding the controlbar / skinning:

We use the native controls because Apple does not expose certain APIs (especially those around volume) and because the JW Player controls are not optimized for touch input (and are actually quite hard to use). This is something that we'll be investigating in the future (see ).

In the interim, simply comment out the following line in jwplayer.html5.model.js and the skinned controls will appear:

_model.config.chromeless = true;

As for the playlist issue, this is another iOS specific issue. Apple does not allow for API control of a <video> tag on iOS devices unless there has been physical input to start playback of that tag. Because the player currently creates and destroys <video> tags each time it switches between playlist items, it's not possible to seamlessly start playback between items. We have several solutions for this we've been playing around with, but none have been tested. Thus, for now, users have to hit play a second time. Obviously, this isn't ideal and we'll be looking into it in the future.

Still don't have the new JW Player? Get It Here