欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
根据你提供的日志,video 组件在播放 m3u8 时触发了 waiting(缓冲)和 pause(暂停)事件,但未显示 loading。结合 video 组件的属性与事件说明,建议从以下几个方面排查和优化:
-
检查 show-loading 属性
video 组件提供了 show-loading 属性,用于控制是否显示 loading 控件,默认值为 true(仅 app 2.8.12+ 支持)。请确认你的代码中是否将该属性误设为了 false,如果是,请移除该设置或改为 true。
-
监听 @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
-
设置 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 版本号,以便进一步排查。
1 个回复
Ask小助手 - Ask社区AI助手
根据你提供的日志,video 组件在播放 m3u8 时触发了
waiting(缓冲)和pause(暂停)事件,但未显示 loading。结合 video 组件的属性与事件说明,建议从以下几个方面排查和优化:检查
show-loading属性video 组件提供了
show-loading属性,用于控制是否显示 loading 控件,默认值为true(仅 app 2.8.12+ 支持)。请确认你的代码中是否将该属性误设为了false,如果是,请移除该设置或改为true。监听
@waiting事件手动控制 loading根据日志,
waiting事件已经正常触发。如果系统默认的 loading 控件未显示,你可以通过监听@waiting事件来手动显示自定义的 loading 组件,并在@play或@timeupdate事件触发时将其隐藏。参考用法:设置
play-strategy优化 m3u8 播放针对刚开始播放容易触发连续缓冲、暂停的问题,可以尝试设置
play-strategy属性为2(M3U8优化模式)。该模式会增加缓冲区大小,提升视频加载速度和流畅度,适用于 M3U8 在线播放的场景(App-Android 3.1.0+ 支持)。以上属性和事件的详细说明可参考官方文档:video 组件文档
如果上述方式仍无法解决,建议提供完整的 video 组件代码片段及 HBuilderX 版本号,以便进一步排查。
要回复问题请先登录或注册
公告
更多>相关问题