uni-app iosApp 视频播放有时会黑屏,有声音和进度条但没图像,Hbuilder调试正常,打包后出现问题
uni-app iosApp 视频播放有时会黑屏,有声音和进度条但没图像,Hbuilder调试正常,打包后出现问题
操作步骤:
- video 加载视频 使用 play() 播放视频
预期结果:
- 正常播放
实际结果:
- 无图像
bug描述:
iosApp 视频播放有时会黑屏,有声音和进度条,但是没图像,用Hbuilder 调试没问题,但是打包后会有问题
图片

项目信息
| 项目信息 | 详细信息 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Windows |
| PC开发环境版本号 | win10 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.2.12 |
| 手机系统 | iOS |
| 手机系统版本号 | iOS 15 |
| 手机厂商 | 苹果 |
| 手机机型 | 苹果11 |
| 页面类型 | vue |
| vue版本 | vue2 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
更多关于uni-app iosApp 视频播放有时会黑屏,有声音和进度条但没图像,Hbuilder调试正常,打包后出现问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
猜测有可能是ios视频缓存的问题,我再每次播放之前 路径加载一个时间戳,目前测试没再出现,
更多关于uni-app iosApp 视频播放有时会黑屏,有声音和进度条但没图像,Hbuilder调试正常,打包后出现问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
提供一个可以稳定复现的demo 我这边跑一下试试
https://apollo.feelec.com.cn/mp4/video.MP4 这是录屏,您看看呢,本地调试没问题,无法复现,但是打包后就有问题了,安卓没问题
测试了 iphone11 13.1,iphone12 15.1都有此问题,但是 iphone7 15.1 没问题
回复 Feelec:能否把这个无法正常播放的视频链接提供一下
回复 天生DR: https://feelec.bj.bcebos.com/apollosan.mov 这个
回复 Feelec: 是必现吗?我就写了个video 标签试了下 离线SDK 也没问题啊
回复 天生DR: 是的,本地没复现,云打包后大概率会出现,外层 div 有个 v-show="”;显示是使用 .play() ,自动播放,
回复 天生DR: 一两周之前好像没发现,好像没发布之前测试的时候是没问题的,最近打包好像出现了
回复 Feelec: 你写个简单的demo 上传一下 我方面复现
回复 天生DR: 能加您QQ嘛,或邮箱,我私发给您
本地测试没问题,但是打包之后很容出现
这是录屏,出现过一次后就特别容易出现,没出现很长时间都不会出现
这个问题通常与iOS视频解码和渲染机制有关。以下是几个关键点:
-
视频格式兼容性:iOS对视频编码格式要求严格,建议使用H.264编码的MP4格式。检查视频编码格式,可使用ffmpeg转换。
-
硬件加速问题:iOS视频播放依赖硬件解码,某些编码参数可能导致渲染异常。尝试调整视频参数:
- 分辨率设为2的倍数
- 关键帧间隔不宜过大
-
播放时机问题:在
onReady事件触发后再调用play()方法:<video ref="videoRef" [@ready](/user/ready)="handleReady"></video> methods: { handleReady() { this.$refs.videoRef.play() } }

