安卓7的系统,先给video标签的src一个初始的视频连接,可以正常播放,动态切换成另一个url直接黑屏了
- 发布:2024-11-29 21:49
- 更新:2024-11-30 12:42
- 阅读:96
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows 10
HBuilderX类型: 正式
HBuilderX版本号: 4.29
手机系统: Android
手机系统版本号: Android 7.1.1
手机厂商: 模拟器
手机机型: Samsung Galaxy S20 Ultra
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
正常播放新的视频链接
正常播放新的视频链接
实际结果:
视屏组件黑屏,不播放了
视屏组件黑屏,不播放了
bug描述:
动态切换video标签的src,黑屏,不播放了
DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信
感谢反馈,这个你测试了多少设备,安卓模拟器是否正常,ios 设备是否正常,经过你测试和当前这台机器有关系,还是和安卓 7 有关系,还是都有问题,不是兼容性的关系?
1***@qq.com (作者)
<template>
<view>
<video :src='url' style='width: 400px;height: 400px;'></video>
<button @click='handleChange'>切换url</button>
</view>
</template>
<script>
export default {
data() {
return {
index: 0,
url: 'https://zxinfo.oss-cn-hangzhou.aliyuncs.com/20241125/202411251032166397.4.mp4',
urls: [
'https://zxinfo.oss-cn-hangzhou.aliyuncs.com/20241125/202411251032166397.4.mp4',
'https://zxinfo.oss-cn-hangzhou.aliyuncs.com/20241116/202411161935093569.mp4'
]
}
},
methods: {
handleChange() {
this.index = this.index == 0? 1 : 0
this.url = this.urls[this.index]
}
}
}
</script>
<style>
</style>
1***@qq.com (作者)
测试了三台设备,一个安卓7的模拟器,两台安卓7的电视,都有这个问题,另外测了一台安卓9的电视和模拟器,安卓9没有发现这个问题,ios没有测试过
2024-11-30 11:02
DCloud_UNI_OttoJi
回复 1***@qq.com: 我使用你给的案例,在 Vue2+ HBuilderX alpha 最新版,测试安卓 14 没有复现黑屏的情况。怀疑是兼容问题,你尝试给 video 的父元素设置 v-if 切换一下试试,看是否可以绕过。我没有复现你的问题,所以不能进一步排查
2024-11-30 16:21
1***@qq.com (作者)
回复 DCloud_UNI_OttoJi: 应该是只有安卓7以下的设备会有这种问题,另外我尝试过使用v-if去切换视频组件,但是会触发另一个问题,两个视频组件不断的销毁重建会使内存不断升高,最后导致应用崩溃卡死。参考:https://ask.dcloud.net.cn/question/198855
2024-12-02 09:00
DCloud_UNI_OttoJi
回复 1***@qq.com: 好,关联的帖子我转给相关同事了,细节在这个帖子里更新。现在有绕过方案吗,简单地通过停止播放再销毁是否可以缓解。如果是安卓 7 有问题,针对不同系统编写逻辑绕过是否解决了你的问题
2024-12-02 11:11