uniapp中video展示.m3u8格式视频不显示是什么原因?
在uniapp中使用video组件播放.m3u8格式视频时无法显示,控制台也没有报错信息。请问可能是什么原因导致的?需要检查哪些配置或添加什么特殊设置?视频链接在其他平台测试是正常的。
2 回复
可能原因:
- 视频源地址无效或跨域问题
- 浏览器兼容性(部分安卓机需开启硬件加速)
- 未添加playsinline属性
- 网络问题或服务器不支持m3u8
建议:检查视频源,添加playsinline,测试不同设备。
在 UniApp 中,video 组件无法正常显示 .m3u8 格式视频的常见原因及解决方案如下:
-
平台兼容性问题:
- H5 端:部分浏览器不支持直接播放
.m3u8流媒体格式。建议使用第三方播放器库(如hls.js)进行兼容处理。 - 小程序端:微信小程序等平台可能对
.m3u8支持有限,需检查平台文档确认格式支持情况。
- H5 端:部分浏览器不支持直接播放
-
视频源问题:
- 确保
.m3u8文件及关联的.ts分片可通过网络正常访问(无跨域限制或链接失效)。 - 测试其他播放工具(如 VLC 播放器)验证视频源是否有效。
- 确保
-
代码配置问题:
- 检查
src路径是否正确,并添加type属性为application/x-mpegURL。 - 示例代码:
<video :src="videoUrl" controls :type="videoType"></video>export default { data() { return { videoUrl: 'https://example.com/your-video.m3u8', videoType: 'application/x-mpegURL' }; } };
- 检查
-
跨域限制(H5 端):
- 若视频服务器未配置 CORS 跨域头,需联系服务端添加
Access-Control-Allow-Origin等响应头。
- 若视频服务器未配置 CORS 跨域头,需联系服务端添加
-
使用替代方案:
- 若原生
video组件仍无法播放,可尝试使用插件(如uni-media)或转码为通用格式(如 MP4)。
- 若原生
优先检查视频源和平台兼容性,多数问题源于此。

