Autoplay video on mobile device - javascript

I've seen posts complaining that you cannot autoplay a video on mobile device.
But, this CAN be done. I've visited youtube website on android and iOS and video does indeed start to play without any user interaction. How can I mimic this behaviour?
EDIT: if you visit direct link, it does not work. If you first visit youtube.com and than click on some video, it works. No idea why.

<video id="mobilevideo" name="Mobile video" onLoad="play()" onClick="play()" preload="auto" autoplay preload muted playsinline webkit-playsinline>
<source src="file.webm" type="video/webm">
<source src="file.ogg" type="video/ogg">
<source src="file.mp4" type="video/mp4">
Your browser does not support this file type.
</video>
<!--Javascript autoplay video -->
<script>
document.getElementById('mobilevideo').play();
</script>

You can use autoplay in video tag. like this:
<video width="320" height="240" controls autoplay>
For more information, you can learn from here:
https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_video_autoplay
For mobile, you should not do auto play because it will cost user's bandwidth(money). See this post for more detail:
Can you autoplay HTML5 videos on the iPad?

Related

Video and Audio automatically starts downloading in html5

I am new to web programming. I have a question. why do the audio and videos from the background start downloading automatically(download dialog pops up from IDM) when my index.html page opens? I am using Aframe's videosphere in the background.
<video id="video2" loop="true" autoplay src="/vid/waterfall.mp4"></video>
<a-videosphere id="video-360" src="#video2"></a-videosphere>
Thank you.
This May Help You. preload='none' prevent pre download
<video preload='none'
id="video2"
loop="true"
autoplay src="/vid/waterfall.mp4">
</video>
<a-videosphere
id="video-360" src="#video2">
For Audio
<audio preload="none">
<source src="audio.mp3" type="audio/mpeg" />
Audio Type
</audio>

Replace background video with image if autoplay is not supported in vue js

I have a website with a background video. Many browsers especially mobile ones dont support autoplay even with muted videos. How can i detect if the browser isnt supporting autoplay and replace the video with an image. Im using vueJS.
<video autoplay class="background-video" loop muted> <source src="#/assets/video/background.mp4" type="video/mp4"> </video>
Use the poster attribute:
<video width="620" loop muted poster="https://upload.wikimedia.org/wikipedia/commons/e/e8/Elephants_Dream_s5_both.jpg" >
<source
src="https://archive.org/download/ElephantsDream/ed_1024_512kb.mp4"
type="video/mp4">
<source
src="https://archive.org/download/ElephantsDream/ed_hd.ogv"
type="video/ogg">
<source
src="https://archive.org/download/ElephantsDream/ed_hd.avi"
type="video/avi">
</video>
source
Example with no video
Add the playsinline attribute for your video to autoplay on iOS.
(Most browsers support autoplay, as long as you also use muted.)

Custom HTML 5 Video Playback

I'm creating a custom video playback to show off CAD animations of a product's features. I would like to have one viewing window, with three buttons to show the different product features. The video animations show the product front and center, then use exploding or zooming effects to show the features.
The tricky part is that I would like the video to play for a selected feature, ie feature 1. Then, when feature 2 is selected, I would like to have the video first play another video (feature 1 rewind), which shows the product returning to it's original state, then proceed in playing the next selected feature video (ie feature 2). I think the setup below might be correct, but am struggling on where to start with the javascript.
In sum, here is my desired playback functionality:
Select feature 1 button
Feature 1 video plays
Select feature 2 button
Feature 1 rewind video plays
Feature 2 video plays
Select feature 3 button
Feature 2 rewind video plays
Feature 3 video plays
Ideally, it wouldn't matter the order at which you selected the features, the above behavior would be the same (selected feature, video playback, next selected feature, rewind video playback, next feature video playback, etc.)
<!DOCTYPE html>
<html>
<body>
<!--Here is the setup of video assets-->
<div style="text-align:center">
<button onclick="playFeature1()">Feature1</button>
<button onclick="playFeature2()">Feature2</button>
<button onclick="playFeature3()">Feature3</button>
<br><br>
<video id="feature1" width="420">
<source src="feature1.mp4" type="video/mp4">
<source src="feature1.ogg" type="video/ogg">
Your browser does not support HTML5 video.
</video>
<video id="feature1Rewind" width="420">
<source src="feature1Rewind.mp4" type="video/mp4">
<source src="feature1Rewind.ogg" type="video/ogg">
Your browser does not support HTML5 video.
</video>
<video id="feature2" width="420">
<source src="feature2.mp4" type="video/mp4">
<source src="feature2.ogg" type="video/ogg">
Your browser does not support HTML5 video.
</video>
<video id="feature2Rewind" width="420">
<source src="feature2-Rewind.mp4" type="video/mp4">
<source src="feature2-Rewind.ogg" type="video/ogg">
Your browser does not support HTML5 video.
</video>
<video id="feature3" width="420">
<source src="feature3.mp4" type="video/mp4">
<source src="feature3.ogg" type="video/ogg">
Your browser does not support HTML5 video.
</video>
<video id="feature3Rewind" width="420">
<source src="feature3-Rewind.mp4" type="video/mp4">
<source src="feature3-Rewind.ogg" type="video/ogg">
Your browser does not support HTML5 video.
</video>
</div>
<script>
//here is where I don't know how to approach the playback functionality.
var myVideo = document.getElementById("feature1");
function playFeature1() {
}
</script>
</body>
</html>

How to pause/mute S3 video which is embedded in an iframe?

We are hosting a careersites for customers, one of our customers provided the data which contains video from S3 which is embedded in an iframe.
Problem is the video is getting played automatically when page is loaded. Customer is asking to pause or mute the video on page load.
Is there any way we can pause the video?
Unless there is a special reason you need to use an iframe, the usual way to handle video now is with the HTML5 video tag.
This has an attribute 'autoplay' which if present will start the video automatically, and if absent will not start the video:
http://www.w3schools.com/tags/att_video_autoplay.asp
The following will autoplay (if the devices supports this - some mobile device do not to save on data charges):
<video controls autoplay>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
and this will not:
<video controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>

HTML5 video element not working on Android and iPhone

I have used 5 video in htmt5 video element as a slider. It is not working on Android and iPhone device. Just only show a single image. This is my site http://devpgc.buysidedesign.com/
I have used following code
<video id="video" autoplay loop muted>
<source src="http://devpgc.buysidedesign.com/images/video/InvestorAligned_1.mp4" type="video/mp4"/>
<source src="http://devpgc.buysidedesign.com/images/video/InvestorAligned_1.webm" type="video/webm"/>
<source src="http://devpgc.buysidedesign.com/images/video/InvestorAligned_1.ogg" type="video/ogg"/>
</video>
I have also try to follow this link HTML5 <video> element on Android but no luck. Please tell me the solution.
Try this:
var video = document.getElementById('video');
video.addEventListener('click',function(){
video.play();
},false);
Source

Categories