uni-app uni.createVideoContext("myVideo") 在H5上未定义BUG
uni-app uni.createVideoContext(“myVideo”) 在H5上未定义BUG
| 开发环境 | 版本号 | 项目创建方式 |
|----------------|--------|--------------|
| Windows | win10 | HBuilderX |
# 产品分类
uniapp/H5
# 浏览器平台
Chrome
87.0.4280.141
# App下载地址或H5网址
[无](//ask.dcloud.net.cn/无)
## 示例代码:
```html
<video id="myVideo"
class="video"
controls="false"
loop="true"
src="video.src">
</video>
<p>Ready(res){<br>
this.videoContext = uni.createVideoContext("myVideo")<br>
},<br>
methods:{<br>
player(){<br>
console.log('player')<br>
console.log(this.videoContext)<br>
this.videoContext.play();<br>
},<br>
pause(){<br>
console.log('pause')<br>
this.videoContext.pause();<br>
}<br>
}</p>
bug描述:
this.videoContext = uni.createVideoContext(“myVideo”) 创建后调用this.videoContext 在H5上undefined,微信小程序上调用play()无法播放视频

更多关于uni-app uni.createVideoContext("myVideo") 在H5上未定义BUG的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于uni-app uni.createVideoContext("myVideo") 在H5上未定义BUG的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在H5平台使用uni.createVideoContext时,常见问题及解决方案如下:
-
组件ID匹配问题:确保
video组件的id属性与createVideoContext传入的ID完全一致。注意H5平台对大小写敏感,建议统一使用小写ID。 -
组件渲染时机:在
onReady生命周期中调用createVideoContext,确保视频组件已渲染完成。避免在组件未挂载时创建上下文。 -
平台差异处理:H5平台依赖原生HTML5 Video API,部分方法(如播放控制)可能受浏览器策略限制。建议添加错误捕获:
this.videoContext = uni.createVideoContext("myVideo", this)
if(this.videoContext){
this.videoContext.play().catch(e=>console.log('播放失败:',e))
}
-
微信小程序兼容性:若同时需要兼容小程序,检查视频源格式(建议使用MP4格式)和域名白名单配置。
-
备选方案:对于H5平台可直接操作DOM:
const videoEl = document.getElementById('myVideo')
videoEl?.play()

