uniapp video组件无法播放视频解决方案

前言

一般正常的视频使用video组件就能播放。但视频源存在问题,在浏览器能正常播放

在Hbuilderx内置浏览器 在真机无法播放

使用v-html的方式

javascript 复制代码
<template>
<uni-popup class="videoPop" type="center" ref="videoPop">
				<view style="width: 100%;height: 100%;text-align: center;" v-html="videoHTML">
				</view>
			</uni-popup>
</template>

</script>
this.$refs.videoPop.open()
					this.videoHTML =
						`<video class="video-box" src="${this.videoUrl}" :autoplay="false" play-strategy="3" controls style="width:100%;height:100%"></video>`
</script>

使用web-view的方式

web-view存在路由返回的问题 ,首先要自定义整个顶部窗口

javascript 复制代码
{
			"path": "pages/Water/cameraPage/cameraControl",
			// "style": {
			// 	"navigationBarTitleText": "云台控制",
			// 	"enablePullDownRefresh": false
			// }
			"style": {
				"navigationBarTitleText": "云台控制",
				"backgroundColor": "#f2f2f2",
				"navigationStyle": "custom",
				"app-plus": {
					"bounce": "none",
					"titleNView": {
						"autoBackButton": "true"
						// "buttons": [{
						// 	"type": "home",
						// 	"float": "right"
						// }]
					}
				}
			}
		},

cameraControl.vue

javascript 复制代码
<template>
	<web-view :src=url class="mapCon"></web-view>
</template>

<script>
	var _self;
	export default {
		data() {
			return {
				url: '',
				videoUrl:''
			};
		},
		components: {
			footerNav
		},
		onReady() {
			_self = this;
			uni.getSystemInfo({
				success: resu => {
					const query = uni.createSelectorQuery();
					query.select('.mapBox').boundingClientRect();
				
				},
				fail: res => {}
			});
		},
		onLoad(option) {
			this.videoUrl = option.videoUrl
			this.url = '/hybrid/html/waterVideo.html?videoUrl=' + this.videoUrl
		},
		methods: {

		}

	};
</script>



<style scoped>
	.mapBox {
		width: 100%;
	}
</style>

waterVideo.html

html 复制代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
		<title>云台控制</title>
		<meta name="viewport" content="user-scalable=no" />
		<script src="https://cdn.staticfile.org/vue/2.7.0/vue.min.js"></script>
		<script src="./webView.js"></script>
        <body>
            <div id="app">
			<div id="searchBind">
				<van-icon class="closeIcon" name="cross" @click="back()" />
			</div>
			<div id="mapMenuPop" class="mapMenu" @click="back()">
				<!-- <div id="searchBind" >
					<van-icon name="cross" @click="back()"/>
				</div> -->
				<video id='myVideo' controls="true" :autoplay="false" :src="videoUrl">                        </video>
			</div>
		</div>
        </body>

</html>
相关推荐
一点晖光2 分钟前
ffmpeg实现图片转视频效果
ffmpeg·音视频
前端 贾公子12 分钟前
uniapp之实现拖拽排序
uni-app
咕噜船长19 分钟前
使用Qwen3-VL模型批量标注视频内容(视频理解)
人工智能·pytorch·深度学习·音视频·视频
音视频牛哥40 分钟前
内网RTSP直连 + 公网RTMP上云:基于SmartMediakit的 Android双引擎架构设计
音视频·安卓rtsp服务器·安卓轻量级rtsp服务·安卓rtsp摄像头推流·安卓摄像头rtmp推流·安卓 camera2 rtsp·安卓camera2 rtmp
一室易安1 小时前
uniapp vue3 小程序中 手写模仿京东淘宝加入购物车红点曲线飞入样式效果 简化版代码
小程序·uni-app
二等饼干~za8986681 小时前
碰一碰发视频系统源码开发搭建--技术分享
java·运维·服务器·重构·django·php·音视频
00后程序员张1 小时前
混合 App 怎么加密?分析混合架构下常见的安全风险
android·安全·小程序·https·uni-app·iphone·webview
EasyCVR2 小时前
视频汇聚平台EasyCVR筑牢消防领域可视化监控防线
运维·人工智能·音视频
专业开发者3 小时前
2020 年国际消费电子展(CES 2020):真无线耳机强势席卷音频品类
物联网·音视频
2501_915921433 小时前
Flutter App 到底该怎么测试?如何在 iOS 上进行测试
android·flutter·ios·小程序·uni-app·cocoa·iphone