i am using this code and when i see the controls
i see the autoplay is not working.
<audio autoplay="true" src="music/lathe_di_chadar.mp3" type="audio/mp3" loop></audio>
and its not working in the mobile devices and very well working in website. Can anyone tell me the problem in this?.
Thanks and well Appreciated
The HTML <audio> autoplay attribute is used to specify that the audio should automatically start playing as soon as it is loaded. It is a Boolean attribute.
As of April 2018, Chrome's autoplay policies changed: "Chrome's autoplay policies are simple: Muted autoplay is always allowed.
The autoplay attribute is a boolean attribute. When present, the audio will automatically start playing as soon as it can do so without stopping. Note: Chromium browsers do not allow autoplay in most cases. However, muted autoplay is always allowed.
The <audio> tag is used to embed sound content in a document, such as music or other audio streams.
Now, it's2020
Note that (for the below reason?) Chrome has changed their autoplay policy (see https://developers.google.com/web/updates/2017/09/autoplay-policy-changes ) so you now must either:
resume()
the audio context after some (any) user interaction with the pageYou can play a sound using the AudioContext
API and taking the source from any ArrayBuffer
(ie: from a XMLHttpRequest
or a File
)
window.addEventListener('load', function () { var audioCtx = new (window.AudioContext || window.webkitAudioContext)(); var source = audioCtx.createBufferSource(); var xhr = new XMLHttpRequest(); xhr.open('GET', 'audio-autoplay.wav'); xhr.responseType = 'arraybuffer'; xhr.addEventListener('load', function (r) { audioCtx.decodeAudioData( xhr.response, function (buffer) { source.buffer = buffer; source.connect(audioCtx.destination); source.loop = false; }); source.start(0); }); xhr.send(); });
Live example
Works on Chrome and Firefox both mobile and Desktop
Important notes
It's worth mentioning, IMO, that this "trick" can actually be considered as a browser bug, and might no longer work at any time if browser decide that this breaks user experience/becomes a widely-used annoyance (like ads).
It's also worth mentioning that, at least on my mobile and FF 54, the sound will still be played, even if your mobile is muted...
It's also also worth mentionning that user might set the autoplay
behavior to fit their wishes and needs either through the browser's usual options or through the more-advanced about:config
page (autoplay
behavior is set by Firefox's media.autoplay.enabled
and media.block-autoplay-until-in-foreground
preferences).
So forcing the audio autoplay
is a bad UX idea no matter how you do it.
There is no way to get autoplay working in mobile browsers. (This is not allowed)
But some tricks do this thing.
Click on the links below to view some tricks
Autoplay audio on mobile safari
iOS-Specific Considerations | Loop Attribute
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With