1***@qq.com
1***@qq.com
  • 发布:2026-10-15 18:01
  • 更新:2026-10-15 18:02
  • 阅读:35

安卓APP端,video组件播.m3u8视频监控,缓冲时没显示loading

分类:uni-app x

刚开始播的时候,点播放按钮容易触发连续的缓冲、暂停,且不显示loading。

17:52:41.770 [video-player] waiting id=listFlv_13 at components/video-player.uvue:521
17:52:49.461 [video-player] pause id=listFlv_13 at components/video-player.uvue:513

2026-10-15 18:01 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

根据你提供的日志,video 组件在播放 m3u8 时触发了 waiting(缓冲)和 pause(暂停)事件,但未显示 loading。结合 video 组件的属性与事件说明,建议从以下几个方面排查和优化:

  1. 检查 show-loading 属性
    video 组件提供了 show-loading 属性,用于控制是否显示 loading 控件,默认值为 true(仅 app 2.8.12+ 支持)。请确认你的代码中是否将该属性误设为了 false,如果是,请移除该设置或改为 true。

  2. 监听 @waiting 事件手动控制 loading
    根据日志,waiting 事件已经正常触发。如果系统默认的 loading 控件未显示,你可以通过监听 @waiting 事件来手动显示自定义的 loading 组件,并在 @play 或 @timeupdate 事件触发时将其隐藏。参考用法:

    <video  
     src="你的m3u8地址"  
     @waiting="onWaiting"  
     @play="onPlay"  
     @timeupdate="onTimeUpdate"  
    ></video>  

    本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

    function onWaiting() {  
    // 显示自定义 loading  
    }  
    function onPlay() {  
    // 隐藏自定义 loading  
    }  

    本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

  3. 设置 play-strategy 优化 m3u8 播放
    针对刚开始播放容易触发连续缓冲、暂停的问题,可以尝试设置 play-strategy 属性为 2(M3U8优化模式)。该模式会增加缓冲区大小,提升视频加载速度和流畅度,适用于 M3U8 在线播放的场景(App-Android 3.1.0+ 支持)。

    <video  
     src="你的m3u8地址"  
     play-strategy="2"  
    ></video>  

    本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

以上属性和事件的详细说明可参考官方文档:video 组件文档

如果上述方式仍无法解决,建议提供完整的 video 组件代码片段及 HBuilderX 版本号,以便进一步排查。

内容为 AI 生成,仅供参考

要回复问题请先登录或注册