Alex C
Alex C

Reputation: 951

ios 10 youtube iframe not playing

I'm using the following iframe in my HTML code:

        <iframe src="<iframeurl>">?autoplay=1" frameborder="0" allowfullscreen></iframe>

On iPhone with iOS10 this doesn't autoplay. I'm getting the red play button and stuff. On windows chrome and others all works fine autoplay starts correctly. But not with the iphone.

Is there anything I could do in javascript or by manipulating the URL to make this autoplay? I'm aware that Apple used to disallow autoplay before iOS10 so maybe I'm doing something wrong here..

Upvotes: 3

Views: 4088

Answers (4)

Marium Kazmi
Marium Kazmi

Reputation: 21

putting this in config.xml worked for me: <allow-navigation href="*://*youtube.com" />

Upvotes: 0

qazwsx000xswzaq
qazwsx000xswzaq

Reputation: 21

It is not that iOS prevents any video from autoplaying (at least not so since iOS 10), but it is unmuted videos that are prevented from playing without user interaction. So if you embed a YouTube video with muted=1 appended to the URL, autoplay works again.

P.S. the muted parameter is not documented for the YouTube embedded players. It is nowhere to be found in the official doc: https://developers.google.com/youtube/player_parameters. Yet it has been working for quite a while. If you worry it may not work someday, you can take the programmatic approach via the iframe API: first mute the video and then play it when the ready event is emitted.

Upvotes: 0

Web Dot Inc
Web Dot Inc

Reputation: 104

Just add the play trigger to onClick and then execute call the click event from an AJAX response.

Should do the trick ;)

Upvotes: 3

Daksh
Daksh

Reputation: 986

You're experiencing this because Apple doesn't allow embedded media to play automatically — the user always initiates playback.

This is mentioned in YouTube's IFrame Player API documentation as well. And no, I don't think you can and should override this since that is a bad practice.

Upvotes: 5

Related Questions