项目场景:
大致内容准备做一个视频的页面.原本是想做弹窗的形式,但是之前从文档中看到了uni.openDialogPage这个Api,就像用用试试。后打开弹窗页面后就报了这个错误
原因分析:
-
在 dialogPage 里写了
<video>组件;如果只是想临时调试,重新生成一次自定义基座 (确保 manifest 里已勾选或动态引入了 video 模块)可以让
<video>不再被降级,但依旧无法使用createVideoContext相关接口如果业务必须在弹窗里播放视频,建议改用普通页面(非 dialogPage)实现,或者把视频放到普通页面里,通过页面跳转/动画模拟弹窗效果。
-
当前运行的基座(标准基座或旧版自定义基座)没有把 video 组件打包进去,所以运行时被降级成了普通的
<view>。

解决方案:
- 仅播放
将模块配置仅manifest.json里面就可以了
"app-android": {
"distribute": {
"modules": {
"uni-video": {}
}
}
},
"app-ios": {
"distribute": {
"modules": {
"uni-video": {}
}
}
},
"app-harmony": {
"distribute": {
"modules": {
"uni-video": {}
}
}
}
- 需要做视频控制
还是老老实实用弹窗的形式把,在openDialogPage弹窗页里面不支持使用video标签,但是不知道如果使用纯原生android或者ios的视频播放器会不会有可能支持这个效果。因为赶工期,本博就以后再研究啦。如果实现了的同志也可以评论区贴一下方案