【html5的video标签在移动端的使用】【微信内部浏览器video自动播放】【vue-video-player】

ops/2024/10/18 12:22:12/

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、使用步骤
    • 1. html部分
    • 2.js部分
  • 二、使用插件vue-video-player
    • 1、下载插件
    • 2、使用
    • 3、在组件中使用
  • 三、video相关文章推荐


前言

在移动端的首页用视频做背景动画,让动画循环,自动播放,静音。


一、使用步骤

html_15">1. html部分

html"><video @click="init" class="video" :src="require('../../assets/video/pc-all.mp4')"preload="auto"poster="../../assets/img/home/pc-all-img.png"autoplayloopmutedplaysinline="true"></video>

属性说明:
playsinline: iPhone safari 中播放只能全屏。在微信端去掉进度条。
poster:默认展示的图片(还没播放视频的时候显示,视频开始播放之后会自动消失)。
preload:预加载视频。
autoplay:自动播放
loop: 循环播放
muted: 静音

2.js部分

mounted() {this.init();
},
methods: {init() {const el = document.querySelector(".");if(el.paused) {el.play();}}
},

二、使用插件vue-video-player

想要视频默认自动播放,官方建议最好不要使用autoplay:true。
具体解决办法查看如下链接:https://videojs.com/blog/autoplay-best-practices-with-video-js/

1、下载插件

vue2下载v5版本
npm i vue-video-player@^5.0.0

2、使用

在main.js中全局引入

import VueVideoPlayer from 'vue-video-player';
import 'video.js/dist/video-js.css';
Vue.use(VueVideoPlayer);

3、在组件中使用

<template><div class="home-div"><video-player  id="player"class="video-player video"ref="videoPlayer":playsinline="true":options="playerOptions"@ready="playerReadied"></video-player></div>
</template><script>
export default {data() {return {playerOptions : {controls: false,// playbackRates: [0.7, 1.0, 1.5, 2.0], // 播放速度autoplay: false, // 如果true,浏览器准备好时开始回放。 使用player.play()方法进行编程自动播放,避免使用autoplay属性/选项。muted: true, // 默认情况下将会消除任何音频。 将提高自动播放的更功率。loop: true, // 导致视频一结束就重新开始。preload: 'auto', // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)language: 'zh-CN',aspectRatio: '16:9', // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")fluid: true, // 当 true 时,Video.js player 将拥有流体大小。换句话说,它将按比例缩放以适应其容器。sources: [{src: require('../../assets/video/pc-all_15d0e6167d.mp4'),  // 路径type: 'video/mp4'  // 类型}],poster: require("../../assets/img/home/pc-all-img.png"), // 封面地址notSupportedMessage: '此视频暂无法播放,请稍后再试', // 允许覆盖 Video.js 无法播放媒体源时显示的默认信息。}};},computed: {player() {return this.$refs.videoPlayer.player}},created() {},mounted() {},methods: {// 准备就绪(预加载前会调用)(初始化调用)将侦听器绑定到组件的就绪状态。与事件监听器的不同之处在于,如果ready事件已经发生,它将立即触发该函数playerReadied() {// this.player.autoplay("true");const promise = this.player.play();if (promise !== undefined) {promise.then(function() {// Autoplay started!// alert("播放成功")}).catch(function(error) {// Autoplay was prevented.// alert("播放失败")});}// 微信播放let that = this;if (window.WeixinJSBridge) {WeixinJSBridge.invoke('getNetworkType', {}, function (e) {that.player.play()}, false);} else {document.addEventListener("WeixinJSBridgeReady", function () {WeixinJSBridge.invoke('getNetworkType', {}, function (e) {that.player.play()});}, false);}},}
};
</script><style lang="scss">
// 让首页的视频居中铺满整个屏幕,并且默认的图片铺满整个屏幕
.bg-img-div {.video {.video-js {width: 100%;height: 100%;padding-top: 0;.vjs-tech {position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);object-fit: cover;}.vjs-poster {background-size: cover;}}}
}
</style>

三、video相关文章推荐

https://blog.csdn.net/xgocn/article/details/90745120

vue-video-player插件默认自动播放的解决办法如下(官网建议的解决办法):https://videojs.com/blog/autoplay-best-practices-with-video-js/


http://www.ppmy.cn/ops/50033.html

相关文章

果园预售系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;用户管理&#xff0c;果树管理&#xff0c;果园管理&#xff0c;果园预约管理 前台账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;论坛&#xff0c;公告&a…

Mysql 的分布式策略

1. 前言 MySQL 作为最最常用的数据库&#xff0c;了解 Mysql 的分布式策略对于掌握 MySQL 的高性能使用方法和更安全的储存方式有非常重要的作用。 它同时也是面试中最最常问的考点&#xff0c;我们这里就简单总结下 Mysq 的常用分布式策略。 2. 复制 复制主要有主主复制和…

描述React中的函数组件和类组件之间的区别

React中的函数组件和类组件之间存在显著的区别&#xff0c;以下是对这些区别的详细描述&#xff1a; 语法与设计思想&#xff1a; 函数组件&#xff1a;采用函数式编程思想&#xff0c;使用纯JavaScript函数定义。函数组件接收一个输入参数props&#xff0c;并返回一个React元…

四川古力未来科技抖音小店打造品质生活,可靠之选引领潮流

在当今数字化快速发展的时代&#xff0c;电商平台如雨后春笋般涌现&#xff0c;抖音小店作为其中的佼佼者&#xff0c;凭借其独特的短视频电商模式&#xff0c;迅速吸引了大批年轻消费者的目光。而在众多的抖音小店中&#xff0c;四川古力未来科技抖音小店凭借其卓越的品质和专…

SylixOS下UDP组播测试程序

SylixOS下UDP组播测试 测试效果截图如下: udp组播发送测试程序。 /********************************************************************************************************* ** ** 中国软件开源组织 ** ** …

专业媒体公关-北京-上海-60城媒体邀约服务机构-51媒体网

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 「51媒体」提供的媒体邀约服务致力于帮助企业或机构邀请全国范围内的媒体进行现场报道宣传。 媒体邀约的重要性 媒体邀约是一种有效的宣传手段&#xff0c;可以帮助企业或活动在公众中…

图神经网络实战(14)——基于节点嵌入预测链接

图神经网络实战&#xff08;14&#xff09;——基于节点嵌入预测链接 0. 前言1. 图自编码器2. 变分图自编码器3. 实现变分图自编码器小结系列链接 0. 前言 我们已经了解了如何使用图神经网络 (Graph Neural Networks, GNN) 生成节点嵌入&#xff0c;我们可以使用这些嵌入执行矩…

Flink的简单学习五

一 动态表与连续查询 1.1 动态表 1.是flink的支持流数据Table API 和SQL的核心概念。动态表随时间的变化而变化 2.在流上面定义的表在内部是没有数据的 1.2 连续查询 1.永远不会停止&#xff0c;结果是一张动态表 二 Flink SQL 2.1 sql行 1.先启动启动flink集群 yarn-see…