uniapp nvue、vue的webview实现播放视频全屏
时间: 2023-09-07 16:14:12 浏览: 297
uniapp subNvue 写的视频播放
对于uni-app的nvue,可以使用uni-app提供的`uni-video`组件来实现视频播放,同时支持全屏模式。在`uni-video`组件中,设置`show-fullscreen-btn`为true,即可显示全屏按钮,点击全屏按钮后,视频会自动全屏。
对于vue的webview实现播放视频全屏,可以使用HTML5的Video标签,并且在进入全屏模式时,需要调用浏览器提供的API。具体实现步骤如下:
1. 在Vue模板中,使用Video标签来播放视频,并设置控制栏为浮动状态。
```html
<video
src="your_video_file.mp4"
controls
style="position:fixed; top:0; left:0; width:100%; height:100%; z-index:9999;"
></video>
```
2. 在Vue方法中,监听全屏事件,并在全屏时调用浏览器提供的API。
```javascript
methods: {
enterFullScreen() {
var video = document.getElementsByTagName('video')[0];
if (video.requestFullscreen) {
video.requestFullscreen();
} else if (video.mozRequestFullScreen) {
video.mozRequestFullScreen();
} else if (video.webkitRequestFullscreen) {
video.webkitRequestFullscreen();
}
}
}
```
3. 在控制栏中添加全屏按钮,并在点击时调用Vue方法。
```html
<div class="controls">
<button @click="enterFullScreen">全屏</button>
</div>
```
4. 最后,需要在Vue的生命周期中监听浏览器的全屏事件,并在退出全屏时恢复控制栏的位置。
```javascript
mounted() {
document.addEventListener('fullscreenchange', this.exitFullScreen);
document.addEventListener('webkitfullscreenchange', this.exitFullScreen);
document.addEventListener('mozfullscreenchange', this.exitFullScreen);
document.addEventListener('MSFullscreenChange', this.exitFullScreen);
},
exitFullScreen() {
var video = document.getElementsByTagName('video')[0];
if (!document.fullscreenElement && !document.webkitFullscreenElement && !document.mozFullScreenElement && !document.msFullscreenElement) {
video.style = "position:fixed; top:50%; left:50%; transform:translate(-50%, -50%);";
}
}
```
阅读全文