当前位置:   article > 正文

Vue中使用vue-video-player插件播放本地mp4视频文件_vue播放本地视频

vue播放本地视频

场景

若依前后端分离版手把手教你本地搭建环境并运行项目:

若依前后端分离版手把手教你本地搭建环境并运行项目_霸道流氓气质的博客-CSDN博客_前后端分离项目本地运行

在上面搭建项目的基础上,先实现了播放rtmp视频流

Vue中使用vue-video-player和videojs-flash插件实现播放rtmp视频文件流:

Vue中使用vue-video-player和videojs-flash插件实现播放rtmp视频文件流_霸道流氓气质的博客-CSDN博客_video.js-flash

如果需要在本地模拟出播放视频效果,需要播放本地的mp4文件。

 

注:

博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

1、同上面流程一样,安装vue-video-player插件

npm install vue-video-player --save

这里只安装这一个插件即可

2、页面中局部引入

  1. import { videoPlayer } from "vue-video-player";
  2. import 'video.js/dist/video-js.css'

在components中声明

  1.   components: {
  2.     videoPlayer,
  3.   },

3、页面添加播放器

  1.     <div id="playWnd" class="playWnd">
  2.       <videoPlayer
  3.         class="vjs-custom-skin videoPlayer"
  4.         ref="videoplayer"
  5.         :playsinline="true"
  6.         width="800px"
  7.         height="600px"
  8.         :options="playerOptions"
  9.         customEventName="changed"
  10.       >
  11.       </videoPlayer>

4、设置播放器的相关属性

  1.       playerOptions: {
  2.         width: "800px",
  3.         height: "600px",
  4.         language: "zh-CN",
  5.         muted: true,// 默认情况下将会消除任何音频
  6.         autoplay: true,// 如果true,浏览器准备好时开始回放。
  7.         controls: false, //不显示暂停、声音、进度条组件
  8.         loop: true, // 视频一结束就重新开始。
  9.         sources: [
  10.           {
  11.             type: "video/mp4",
  12.             src: "/video/video2.mp4" // url地址
  13.           },
  14.         ],
  15.       },

注意这里的url对应的路径是

 

5、完整示例代码

  1. <template>
  2.   <el-dialog
  3.     title="视频监控"
  4.     :visible.sync="videoOpen"
  5.     width="800px"
  6.     height="600px"
  7.     append-to-body
  8.     @close="videoClose"
  9.     class="video_box"
  10.   >
  11.     <!--视频窗口展示-->
  12.     <div id="playWnd" class="playWnd">
  13.       <videoPlayer
  14.         class="vjs-custom-skin videoPlayer"
  15.         ref="videoplayer"
  16.         :playsinline="true"
  17.         width="800px"
  18.         height="600px"
  19.         :options="playerOptions"
  20.         customEventName="changed"
  21.       >
  22.       </videoPlayer>
  23.     </div>
  24.   </el-dialog>
  25. </template>
  26. <script>
  27. import { videoPlayer } from "vue-video-player";
  28. import 'video.js/dist/video-js.css'
  29. export default {
  30.   name: "HkVideo",
  31.   components: {
  32.     videoPlayer,
  33.   },
  34.   data() {
  35.     return {
  36.       videoOpen: false,
  37.       playerOptions: {
  38.         width: "800px",
  39.         height: "600px",
  40.         language: "zh-CN",
  41.         muted: true,// 默认情况下将会消除任何音频
  42.         autoplay: true,// 如果true,浏览器准备好时开始回放。
  43.         controls: false, //不显示暂停、声音、进度条组件
  44.         loop: true, // 视频一结束就重新开始。
  45.         sources: [
  46.           {
  47.             type: "video/mp4",
  48.             src: "/video/video2.mp4" // url地址
  49.           },
  50.         ],
  51.       },
  52.     };
  53.   },
  54.   destroyed() {},
  55.   methods: {
  56.     //预览功能
  57.     preview() {
  58.       console.log("preview");
  59.     },
  60.     //停止全部预览功能
  61.     stopAllPreview() {},
  62.     //关闭视频窗口
  63.     closeWindow() {},
  64.     // 查看摄像
  65.     videoChange() {
  66.       this.videoOpen = true;
  67.       //模拟摄像头预览
  68.     },
  69.     // 关闭摄像头弹窗
  70.     videoClose() {
  71.       this.videoOpen = false;
  72.       this.closeWindow();
  73.     },
  74.   },
  75. };
  76. </script>
  77. <style scoped lang="scss">
  78. .video_box {
  79.   width: 100%;
  80.   height: 100%;
  81. }
  82. .plugin {
  83.   width: 100%;
  84.   height: 100%;
  85. }
  86. .playWnd {
  87.   width: 800px;
  88.   height: 600px;
  89.   margin: 0;
  90. }
  91. .video_box {
  92.   ::v-deep .el-dialog__body {
  93.     padding: 0 !important;
  94.   }
  95. }
  96. </style>

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号