vue 使用videojs来播放不同格式视频

本文介绍了如何在Vue项目中安装和使用vue-video-player5.0.2版本,该版本集成了video.js和videojs-contrib-hls插件,支持HLS流媒体播放。通过创建一个通用的videoPlay组件,实现了视频播放功能,包括设置视频源、类型、控制选项等。此外,还提到了在移动端添加特定属性以确保播放兼容性。
摘要由CSDN通过智能技术生成

1.安装 vue-video-player5.0.2版本,这个集成了vide.js ,videojs-contrib-hls

 npm install vue-video-player@5.0.2

2.可以创建一个通用组件 videoPaly

<template>
  <div>
    <video  id="myVideo" ref="myVideo" controls  class="video-js vjs-big-play-centered" style="height:600px; max-height:1000%;max-width:100vw">
      <source
        :src="videoUrl"
        :type="videoType">
    </video>
  </div>
</template>
<script>
import Video from 'video.js'
import 'video.js/dist/video-js.css'
import 'videojs-contrib-hls'

export default {
  props:{
    url:{
      type:String,
      default:''
    }
  },
  data() {
    return {
      playHandler: null,
       // type格式内容  m3u8:application/x-mpegURL,mp4:video/mp4, flv:video/x-flv,mov:rtmp/mp4
      videoType:'application/x-mpegURL', 
      videoUrl:'',
    }
  },
  mounted(){
     setTimeout(() => {
      this.videoUrl = this.url
      console.log('videoUrl',this.videoUrl)
      this.initVideo()
    }, 300)
  },
  computed:{
  },
  methods:{
    async initVideo() {
      this.$nextTick(() => {
        this.playHandler = Video('myVideo', {
        // 确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
          controls: true,
          // 自动播放属性,muted:静音播放
          autoplay: 'muted',
          // 建议浏览器是否应在<video>加载元素后立即开始下载视频数据。
          preload: 'auto',
          // 设置视频播放器的显示宽度(以像素为单位)
          width: '887px',
          // 设置视频播放器的显示高度(以像素为单位)
          height: '665px'
        })
      })
    },
  },
}
</script>
<style scoped>

</style>

3. 调用

<template>
<videoPaly :url="videoUrl"/>
</template>
<script>
import videoPaly from '@/components/videoPaly.vue'
export default {
components:{
    videoPaly,
  },
  data(){
    return{
  		videoUrl:'http://playertest.longtailvideo.com/adaptive/bipbop/gear4/prog_index.m3u8',
 	 }
  },
}

注意:移动端若不能播放,就在video加上x5-playsinline=“true” playsinline=“true” webkit-playsinline=“true”

<video x5-playsinline="true" playsinline="true" webkit-playsinline="true"
      id="myVideo" ref="myVideo" controls  class="video-js vjs-big-play-centered" style="height:200px;max-width:100vw">
      <source
        :src="videoUrl"
        :type="videoType">
    </video>
根据引用\[1\]和引用\[2\],在使用vue-video-player播放.mov视频时,需要在sources中添加.mov格式视频源。例如: ```javascript sources: \[ { type: "video/ogg", src: "video.ogg" }, { type: "video/webm", src: "video.webm" }, { type: "video/mp4", src: "video.mp4" }, { type: "video/quicktime", src: "video.mov" } \] ``` 另外,根据引用\[3\],在main.js中引入vue-video-player时,需要使用import videoPlayer from 'vue-video-player',而不是import VueVideoPlayer from 'vue-video-player'。并且,还需要引入相应的样式文件,如'vue-video-player/src/custom-theme.css'和'video.js/dist/video-js.css'。最后,使用Vue.use(VideoPlayer)来注册vue-video-player插件。 希望这些信息对你有帮助! #### 引用[.reference_title] - *1* [Vue-视频加载(vue-video-player)支持.mp4.m3u8.flv.mov格式](https://blog.csdn.net/niexier/article/details/117461895)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Vue-Video-Player 播放格式问题](https://blog.csdn.net/p930318/article/details/80453504)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [vue使用vue-video-player实现视频播放:](https://blog.csdn.net/weixin_53791978/article/details/127757827)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值