uniapp 视频在微信小程序不能播放但手机端可以是什么原因?

在uniapp开发的微信小程序中,视频无法播放,但在手机端(H5或App)可以正常播放,这是什么原因导致的?需要检查哪些配置或兼容性问题?

2 回复

可能是微信小程序域名限制,检查下视频链接是否在业务域名白名单内。或者视频格式不支持,建议用H.264编码的MP4格式。


在微信小程序中无法播放视频,但在手机端正常,通常由以下原因导致:

  1. 视频格式兼容性问题

    • 微信小程序对视频格式要求严格,仅支持 MP4MOV 格式,且需符合 H.264 编码标准。
    • 若视频为其他格式(如 AVI、FLV),或编码不规范,可能导致无法播放。
    • 解决方案
      使用工具(如 FFmpeg)转换视频格式:
      ffmpeg -i input.avi -c:v libx264 -strict -2 output.mp4
      
  2. 视频源地址协议限制

    • 微信小程序要求视频源地址为 HTTPS 协议(本地临时路径除外)。
    • 若使用 HTTP 链接或非安全域名,会触发拦截。
    • 解决方案
      manifest.json 中配置合法 HTTPS 域名:
      "mp-weixin": {
        "appid": "",
        "setting": {
          "urlCheck": false
        },
        "permission": {
          "scope.userLocation": {
            "desc": "所需权限说明"
          }
        },
        "requiredPrivateInfos": ["getLocation"]
      }
      
  3. 组件属性或路径错误

    • video 组件的 src 路径需确保正确(网络地址或合法本地路径)。
    • 若使用本地视频,需将文件放在 static 目录下,路径如 /static/video.mp4
    • 示例代码
      <video src="https://example.com/video.mp4" controls></video>
      
  4. 微信开发者工具缓存问题

    • 工具缓存可能导致资源加载异常。
    • 解决方案
      清除缓存并重启工具:点击菜单栏 工具 → 清除缓存 → 全部清除
  5. 网络或服务器限制

    • 若视频源服务器触发跨域限制或访问超时,需检查服务端配置(如 CORS 头部)。

排查步骤

  1. 确认视频格式和编码符合要求。
  2. 检查网络地址是否为 HTTPS。
  3. 在真机调试模式下验证播放情况。
  4. 查看微信开发者工具控制台是否有错误日志。

通过以上调整,通常可解决播放问题。

回到顶部