问题
I embedded a youtube video in a html page. I use the youtube iframe API with Flash (in my case, I cannot use an HTML5 video). Since the last Google Chrome update, Chrome block the autoplay and avoid to play/pause programmatically a video ( element.playVideo() not respond). (Everything is ok on others browsers)
The only way I found is to:
- Go into Chrome preferences
- Then hit Show advanced settings...
- Then hit Content Settings
- then under Plugins, select the 1st choice Run all plugin content (or choose a specific exception )
This solution is TO COMPLICATED for users, does someone have a solution without any user interactions?
回答1:
Two possible Solutions to avoid autoplay blocking in Chrome:
Load flash swf file from same domain name. You could consider proxying if it's your own infrastructure, but I think it's not possible for Youtube api.
Load the player with a bigger size (Try different resolutions). This might sound naive, but Chrome considers bigger video players as content and doesn't block auto playback.
回答2:
As far as I know and think, this issue is related with embedded Flash Content from other domains
What I think
- this is a security feature from chrome, something like IOS video start, when to start a video the user have to tap somewhere on page (there must be a real user event behind the first video play), in this way we assure the OS that we are agree to play the video
- I have almost the same problem, my flash video player is embedded in another page using an iframe, and to start the video I have to click again on flash player placeholder, and let chrome know that as a simple user I'm agree with playing that content which comes from another domain.
I think that the only solution for this will be HTML5 Video, until then maybe someone will come with an "workaround"
来源:https://stackoverflow.com/questions/32742426/chrome-update-block-flash-autoplay-how-avoid-it