Html5中,audio标签在手机端不自动播放问题,解决方法!

2022年1月13日免费分享评论5491阅读模式

1、audio:html5音频标签

<audio loop src="/photo/aa.mp3" id="audio" autoplay preload="auto">该浏览器不支持audio属性</audio>

不支持audio元素的浏览器会显示标签内文字

src:音频地址

autoplay:音频加载完毕后自动播放。

controls:显示播放控制条。

loop:播放完毕后会重复播放。

preload:1)auto 预加载音频视频。2)metadata 只预加载音频视频元数据。 有autoplay时此属性无效。

(h5 推荐使用OGG Vobis格式)

2、js控制媒体

play()播放

pause()暂停

load()重新加载

3、微信端和手机不能支持自动播放问题

原因是:android ios 内部原因 为了节省流量,规定不自动播放音频视频

所以采用以下方式解决

//--创建页面监听,等待微信端页面加载完毕 触发音频播放
document.addEventListener('DOMContentLoaded', function () {
    function audioAutoPlay() {
        var audio = document.getElementById('audio');
            audio.play();
        document.addEventListener("WeixinJSBridgeReady", function () {
            audio.play();
        }, false);
    }
    audioAutoPlay();
});
//--创建触摸监听,当浏览器打开页面时,触摸屏幕触发事件,进行音频播放
document.addEventListener('touchstart', function () {
    function audioAutoPlay() {
        var audio = document.getElementById('audio');
            audio.play();
    }
    audioAutoPlay();
});

ps:

html5 audio 在手机为什么经过AJAX后就不能播放了?

(IOS是禁止自动播放音视频的。必须通过用户的实际操作才可以播放,这是无解的。 你的点击事件已经完成,ajax异步后再播放是不被允许的。 不过你在一些特殊的APP里打开这个页面倒是可以正常。比如微信,QQ,通过扫一扫打开页面后,就跟电脑上一样了。)

为了避免浪费流量,手机端浏览器默认规定媒体文件不允许自动加载播放。 必须在由用户直接操作的事件(如click事件)中才能执行加载播放的代码语句。 不写ajax时a.play()是在click事件中执行的。允许执行。 加了ajax时a.play()就变成是在XHR的load事件中执行了。是不允许执行的。

解决方法可以把ajax改成同步方式。让click事件一直不结束。

    $(document).bind('click', function(){
        $.ajax({
            url: 'your ajax',
            datatype: 'json',
            async: false,
            success: function(e){
                a. src = 'http://luoot-mp3.kssws.ks-cdn.com/xM-8xiiF838JlaWJoqgLtIGpLNw=/lpVroyhM1ZmtBDhKv7fSo96mL5VQ';
            }
        });
        a.play();
    });

https://bbs.csdn.net/topics/391964030

猜你喜欢  

更多精彩自媒体,请访问【我爱自媒体】 www.woaizimeiti.com

支付宝每天领0.1~100元红包哦【每天可领】 https://www.xnworld.com/12371.html

如果您想看最新精彩电影 & 购物更省钱,请加下方站长微信,进微信群【24小时更新】:
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 最新电影
  • 微信扫一扫
  • weinxin
虚拟世界
  • 本文由 发表于 2022年1月13日
  • 转载请务必保留本文链接:https://www.xnworld.com/13328.html
免费分享

最美文案

  有人喝茶喝的是生计,有人喝茶喝的是生活,也有人喝茶喝的是生意,愿你往后余生的每一杯都苦尽甘来;茶已泡好,来…喝茶 读万卷书不如行万里路 行万里路不如阅人无数 悦人无数不如名师指路 人生碌...
免费分享

我在工地

三6查询码 :     JL075827   ;  三筑:  JL075439 北6查询码:      JL071531   ;北筑:   直螺纹平行检验要抽检总数的10%。 【22g101...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定