Plyr: [V3] [3.0.0-beta.20] No controls shown when using Vimeo on iPhone

Created on 14 Mar 2018  路  18Comments  路  Source: sampotts/plyr

Expected behaviour

When using vimeo on iPhone, controls should be shown like so:
image

Actual behaviour

No controls shown when using Vimeo on iPhone
image

Environment

  • Browser: Safari
  • Version: ?
  • Operating System: iPhone 6
  • Version: iOS 11.2.2

Players affected:

  • [ ] HTML5 Video
  • [ ] HTML5 Audio
  • [ ] YouTube
  • [x] Vimeo

Steps to reproduce

  • Go to https://plyr.io/beta/#vimeo with an iPhone 6
  • Poster image is visible, but no controls shown (Video has not started yet)
  • You can click on the video though, and the video starts
  • But no controls are shown, you can't stop the video, even if you click again on the video

Further remarks

  • Controls are shown in HTML5 and YouTube
  • I only have an iPhone 6 currently, I will test this with another iOS device later

Thank you for the good work, the player loosk fantastic :+1:

Most helpful comment

@sampotts I've done some debugging today and have found what the problem is.

For Vimeo, this condition on line 6653 truthy.includes(params.playsinline) is not met and as a result this.config.inline = true; isn't set.

This in turn causes var playsInline = browser.isIPhone && inline && support.inline to be false and as a result ui = support.rangeInput && (!browser.isIPhone || playsInline) is undefined.

As a result the controls don't get added for Vimeo on iOS.

All 18 comments

@card This should be fixed now 馃憤

I have the same question. When using html5 on iPhone, the big-play button should be shown and can play when click the big-play.

It does 馃檮

@sampotts No, it doesn鈥榯... you can see from the snugnest.com in iphone . I don't know what's wrong...

OK but it does on https://plyr.io so you have a problem elsewhere...

Just a note on this.

I'm using vue-plyr and it doesn't seem to be showing any plyr ui on mobile.

People can be experiencing issues with potential plugins. As I can't seem to get any plyr UI to show on iOS. Still trying to find the solution.

Same problem for me, the big play button and the controls aren't appearing on iPhone

Use the latest version - v3.1.0. If you're using a plugin/wrapper by someone else (like Vue, React, etc) then you need to contact the author to get them to upgrade...

Ok thanks, I was using the 3.0.6 version, i'll try with the latest one. (ps : Not using vue, react etc.)

@sampotts
I don't want to disturb but it's still not working for me. It only doest that on iPhone, on iPad it's fine. I can't event stop the video. I even tried a test version of the page i'm coding, I removed all javascript except for plyr and still not working. I can send you the test link if you want.

@sampotts
Seeing the same problem. Using the latest Plyr version. The controls are not added on iOS for a vimeo embed. Youtube and native video are fine. Will further investigate tomorrow and come back here if I find what's causing it.

Do you see the same on https://plyr.io ?

@sampotts yes i see the video on your homepage.

This is what I use to initialise the players:

var player = new Plyr(this, { autoplay: false, controls: ['play', 'progress', 'mute', 'volume', 'fullscreen', 'settings'], settings: ['captions', 'quality'], fullscreen: { enabled: true, fallback: true, iosNative: true }, clickToPlay: true });

And this is the html:

<div id="player-454" class="video-player plyr__video-embed">
<iframe src="https://player.vimeo.com/video/222486164?loop=false&amp;autoplay=true&amp;byline=false&amp;portrait=false&amp;title=false&amp;speed=true&amp;transparent=0&amp;gesture=media" allowfullscreen allowtransparency allow="autoplay"></iframe>
</div>

Like I said before, youtube and video work fine.

@sampotts tested last night on Android Chrome and it's fine there, on iOS it doesn't work in Chrome either. It seems like there's definitely a bug there.

@sampotts I've done some debugging today and have found what the problem is.

For Vimeo, this condition on line 6653 truthy.includes(params.playsinline) is not met and as a result this.config.inline = true; isn't set.

This in turn causes var playsInline = browser.isIPhone && inline && support.inline to be false and as a result ui = support.rangeInput && (!browser.isIPhone || playsInline) is undefined.

As a result the controls don't get added for Vimeo on iOS.

Thanks for that. I'll get a fix into the next release (hopefully tomorrow).

This should actually be resolved now in v3.2.0

@sampotts yes, seems to be working, thanks!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sparkktv picture sparkktv  路  4Comments

Lycanthrope picture Lycanthrope  路  4Comments

tomByrer picture tomByrer  路  3Comments

thang-nm picture thang-nm  路  4Comments

Generalomosco picture Generalomosco  路  3Comments