V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Lostbit
V2EX  ›  程序员

微信 H5 页面在安卓环境下 video 无法自动播放视频,该如何解决?

  •  
  •   Lostbit · Jan 15, 2020 · 7544 views
    This topic created in 2295 days ago, the information mentioned may be changed or developed.

    需求:做个类似抖音 h5 页面,哪怕第一个视频需要手动播放都行,后面的视频能自动播放。

    IOS 没有问题,可以自动播放,安卓不行。

    在网上查了资料,没有解决办法。

    黑魔法也行。

    28 replies    2021-02-07 10:53:46 +08:00
    p8YFk4f3E8SJ3aEv
        1
    p8YFk4f3E8SJ3aEv  
       Jan 15, 2020
    哈哈哈这个我遇到过,用定时器解决
    p8YFk4f3E8SJ3aEv
        2
    p8YFk4f3E8SJ3aEv  
       Jan 15, 2020
    不对,看错了。。。。。我当时做的是直播,你这个是视频列表
    p8YFk4f3E8SJ3aEv
        3
    p8YFk4f3E8SJ3aEv  
       Jan 15, 2020
    什么格式的视频? flv 的话用 bilibili 的 flv.js 试试
    ccfoucs
        4
    ccfoucs  
       Jan 15, 2020
    非 wifi 环境下浏览器是禁止自动播放的,省流量
    redbuck
        5
    redbuck  
       Jan 15, 2020
    与 wifi 无关.

    高版本浏览器禁止视频,音频自动播放.只能由用户行为触发.甚至,如果是在用户行为的回调中,你加个延时都是无效的.

    如果是在微信中,那可以使用'WeixinJSBridgeReady'事件,微信浏览器做了特殊处理,在这个回调里拿到 videoContext,手动调用 play 可以开始播放.

    除此之外,你可以监听 touchstart 事件,至少在用户接触屏幕之后可以开始播放
    KuroNekoFan
        6
    KuroNekoFan  
       Jan 15, 2020
    youtube 的方法是 mute 播放,然后加个提示让用户交互来启用声音
    redbuck
        7
    redbuck  
       Jan 15, 2020
    查了下, 设置 muted 视频可以静音自动播放
    [MDN 文档]( https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/video)
    efaun
        8
    efaun  
       Jan 15, 2020   ❤️ 2
    自动播放视频就是毒瘤,我遇到一个关一个
    geeksnail
        9
    geeksnail  
       Jan 15, 2020
    忘了自己当年微信打开视频遇到的是什么奇葩问题了。
    试试这几个设置:
    // for wechat browser
    video.setAttribute('webkit-playsinline', 'webkit-playsinline');
    video.setAttribute('x-webkit-airplay', 'true');
    video.setAttribute('playsinline', 'true');
    video.setAttribute('x5-video-player-type', 'h5');
    video.setAttribute('x5-video-player-fullscreen', 'false');
    video.preload = 'auto';
    KuroNekoFan
        10
    KuroNekoFan  
       Jan 15, 2020
    不要尝试其它 workaround 了,用得了一时,用不了升级系统
    Lostbit
        11
    Lostbit  
    OP
       Jan 15, 2020
    @f056917 mp4 格式
    Lostbit
        12
    Lostbit  
    OP
       Jan 15, 2020
    @slowhand 这些加过了,跟自动播放没有关系,IOS 可以自动播放安卓不行
    Lostbit
        13
    Lostbit  
    OP
       Jan 15, 2020
    @redbuck 对,我监听了 WeixinJSBridgeReady 事件,然后在回调里用 video.play() 方法,IOS 可以 安卓不行
    chaselen
        14
    chaselen  
       Jan 15, 2020 via Android
    去年研究过一样的问题,无解
    p8YFk4f3E8SJ3aEv
        15
    p8YFk4f3E8SJ3aEv  
       Jan 15, 2020
    安卓版微信内置 X5 浏览器,播放的时候自动全屏的问题你解决了?
    learnshare
        16
    learnshare  
       Jan 15, 2020
    浏览器的安全策略,禁止自动播放,只有手动同步触发才行
    xiangyuecn
        17
    xiangyuecn  
       Jan 15, 2020
    黑魔法?帧动画要不要,检测到不能自动播放时播放图片帧序列来模拟视频,反正流量不要钱😒😒
    zisiluojin
        18
    zisiluojin  
       Jan 15, 2020
    试试调用 wxsdk,在 sdk 初始化时候播放
    qiayue
        19
    qiayue  
    PRO
       Jan 15, 2020
    用微信 jssdk,在初始化后播放
    justin2018
        20
    justin2018  
       Jan 15, 2020
    https://github.com/qiaozi-tech/WXInlinePlayer 这个应该符合楼主需求~
    ajaxfunction
        21
    ajaxfunction  
       Jan 15, 2020
    哈哈,微信里最好解决,反而浏览器不行。
    因为微信有 JSSDK,自动播放音频视频都很简单
    cw2k13as
        22
    cw2k13as  
       Jan 15, 2020
    @xiangyuecn 你可真是个小机灵鬼,鬼才
    redbuck
        23
    redbuck  
       Jan 15, 2020
    @cl903254852 我的安卓可以啊.你是不是加了 setTimeout,video.play 只能在用户行为回调里同步执行,异步不行.
    reus
        24
    reus  
       Jan 15, 2020
    我先骂一句傻逼自动播放。
    constantine008
        25
    constantine008  
       Jan 16, 2020
    遇到过,反正我最后得出的结论是解决不了。。很多说可以的都是在浏览器里可以,而不是在微信里的浏览器可以,不知道其它大神怎么做到的
    constantine008
        26
    constantine008  
       Jan 16, 2020
    说可以的,好歹随便给个可以自动播放的网址开开眼
    Zoopen
        27
    Zoopen  
       Jan 22, 2021
    同遇到过该问题,因为浏览器策略的问题,禁止了浏览器自动播放视频。之前用 WXBridgeReady 事件解决了 IOS 的自动播放下一视频的功能,但是安卓无法实现。IOS 自动播放有时候还会出现一直 loading 的情况= = 。扎个坑,到时候回来再看看有没有解决方法。
    justin2018
        28
    justin2018  
       Feb 7, 2021
    WXInlinePlayer 又用了一次

    客户需求 o(╥﹏╥)o
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1023 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 72ms · UTC 22:02 · PVG 06:02 · LAX 15:02 · JFK 18:02
    ♥ Do have faith in what you're doing.