💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
## vue使用vue-video-player并且可实现视频铺满呦 ## 1:下载vue-video-player ~~~ npm install -s vue-video-player ~~~ ## 2:在main.js中引入相关文件 ~~~ //引入vue-video-player import VideoPlayer from 'vue-video-player' require('video.js/dist/video-js.css') require('vue-video-player/src/custom-theme.css') Vue.use(VideoPlayer) ~~~ ## 3:使用,需要有一个外层父元素,并给父元素设置宽高 ~~~ <div v-for="(item,index) in video" :key="index" style="height: 1.84rem;width: 3.3rem"> <video-player class="video-player vjs-custom-skin" ref="videoPlayer" :playsinline="true" :options="playerOptions" ></video-player> </div> ~~~ ## playerOptions属性: ~~~ playerOptions: { playbackRates: [0.5, 1.0, 1.5, 2.0], //可选择的播放速度 autoplay: true, //如果true,浏览器准备好时开始回放。 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: [{ type: "", src: 'http://media.chinarun.com/upload/media/2021/04/27/38269a68-a953-4ae0-a135-2b78bc075db8.mp4'//url地址 }], poster: "", //你的封面地址 // width: document.documentElement.clientWidth, notSupportedMessage: '此视频暂无法播放,请稍后再试', //允许覆盖Video.js无法播放媒体源时显示的默认信息。 controlBar: { timeDivider: true,//当前时间和持续时间的分隔符 durationDisplay: true,//显示持续时间 remainingTimeDisplay: false,//是否显示剩余时间功能 fullscreenToggle: false //全屏按钮 } } ~~~ ## ## 需循环生成多个视频时,动态传入视频地址: ~~~ getUrl(url) { return { playbackRates: [0.5, 1.0, 1.5, 2.0], //可选择的播放速度 autoplay: true, //如果true,浏览器准备好时开始回放。 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: [{ type: "", src: url //url地址 }], poster: "", //你的封面地址 // width: document.documentElement.clientWidth, notSupportedMessage: '此视频暂无法播放,请稍后再试', //允许覆盖Video.js无法播放媒体源时显示的默认信息。 controlBar: { timeDivider: true,//当前时间和持续时间的分隔符 durationDisplay: true,//显示持续时间 remainingTimeDisplay: false,//是否显示剩余时间功能 fullscreenToggle: false //全屏按钮 } } } ~~~ ## 循环的数组: ~~~ video: [ this.getUrl("http://media.chinarun.com/upload/media/2021/04/27/38269a68-a953-4ae0-a135-2b78bc075db8.mp4"), this.getUrl("http://media.chinarun.com/upload/media/2021/04/27/395436d0-cbb3-4cac-81bd-6cf9268b5e6f.mp4"), this.getUrl("http://media.chinarun.com/upload/media/2019/08/29/2118153d-8912-4abc-b12c-59b290724aab.mp4") ], ~~~ ## 最后的效果: ![](https://img.kancloud.cn/74/3b/743b4917ead3deacd096c517c92b5021_373x590.jpg)