vue框架使用

ZWPlayer 提供了针对 Vue 框架的专用接口包,支持 Vue 2.x 和 Vue 3.x 版本。

1. Vue 3.x

1.1 安装步骤

 

  1. 1. 安装 Vue 接口包

可以通过如下命令安装zwplayervue3.x接口包:

npm install zwplayervue3 --save
  1. 2. 验证安装

安装成功后,项目的 public 目录下会自动生成 zwplayer 核心库目录,该目录必须随项目一起构建发布。

1.2 组件注册

全局注册:

如果成功创建 vue3.x 项目,则 vue-cli 工具可能为你在src目录里创建了一个 main.js 文件,在该文件里添加如下代码:

import ZwModule from 'zwplayervue3'

createApp(App)
  .use(ZwModule)
  .mount('#app')

以上代码第一行导入zwplayer模块,并调用 vue3.x 的 app 的 use 方法实现全局安装zwplayer组件,zwplayer的全局组件名为 zwplayerzero-web-playerzero-playerZPlayer等4个,具体选用哪个名字作为标签名,是随你的喜好。

全局注册的zwplayer vue 组件可以在项目任何子组件里调用。

局部注册:

在项目的任何子组件里的<script></script>标签内部添加如下代码:

import { zwplayer } from 'zwplayervue3'

export default {
  name: 'zwplayer-demo',
  components: {
    zwplayer   //局部注册组件
  },
  data() {
    return {
      movieUrl: 'https://d2zihajmogu5jn.cloudfront.net/elephantsdream/ed_hd.mp4',
      playerOpen: true
    };
  },
  props: {
    msg: String
  },
  methods: {
    onPlayerReady() {
      console.log('player ready event.');
    },
    onPlayerMediaEvent(event) {
      console.log('media event:', event.type);
    },
  sendDanmu: function(danmu) {
      console.log('sendDanmu:', danmu);
      // 调用websocket等方法将弹幕实际发送出去
    }
  }
}

1.3 组件使用

调用zwplayervue3组件的示例代码如下:

<template>
  <div class="hello">
    <zwplayer 
		v-if="playerOpen"
		ref="zwplayerRef"
		nodeid="main-playerxxx" 
		:murl="movieUrl" 
		@onready="onPlayerReady" 
		@onmediaevent="onPlayerMediaEvent"
		:snapshotButton="true"
		:optionButton="true"
		:thumbnails="thumbnails"
		:sendDanmu="sendDanmu"
		:infoButton="true"
		:enableDanmu="true"
		:chapterButton="true"
		danmuBar="danmu-controlbar"
	/>
  </div>
</template>

1.4 变动属性

zwplayervue3 标签的属性与原生zwplayer 构造函数参数对象的属性大部分是一样,但zwplayervue3对其中的属性少部分做了变动,变动的属性如下:

属性名称说明备注
murl媒体地址参数(可以是string、object、array类型),如果此属性在运行当中发生变动,则zwplayervue3组件会调用 play 方法打开这个新的地址。这在 vue 项目中,通过绑定 v-bind 属性,可以做到动态切换播放节目。作用改动
nodeid用于zwplayervue3组件顶级父节点div的id,如果不提供,zwplayer组件会自动生成一个。新增
zwplayerlibzwplayer 库地址。不同于任何其它 h5 播放器,zwplayervue3 底层实现是采用动态加载原生zwplayer库的方式调用zwplayer的,不会随 vue 的 build 命令而将zwplayer底层库编译进项目的,这样可以做到 vue 项目编译发布后替换zwplayer库文件即可无缝升级zwplayer,同时也优化zwplayer的加载速度。此参数类似于 cdn 地址,例如加入你在公网部署了一台机器,将zwplayer.js 部署在 http://www.cdn.com/zwplayer/zwplayer.js 处,此参数设置为该地址即可。此参数可以缺省,缺省时用的时 public目录下的zwplayer/zwplayer.js路径。新增
danmuBarId用于定位 zwplayer 弹幕输入控制条的div元素的id,提供此参数,可以避免调用 buildDanmuControlbar函数来创建弹幕控制条。注意新建的控制条将具有 class 名 vue-zwp-danmubar,用户可以用该class名进一步控制弹幕控制条的风格。例如下面的css将控制条宽度设置为60%:
.danmubar :deep(.vue-zwp-danmubar) {
width: 60%;}
注意:如果在<style scoped>定义css,请用vue的:deep指令来进行样式穿透。
新增
其它请参见 zwplayer播放器构造函数的参数的说明,具体需要提供什么属性请根据你的项目而定。 

zwplayer 的 vue 组件提供了与原生zwplayer一样的方法,请参考相应章节。要调用这些方法,请在父组件里通过 vue 的 ref 属性(具体如何使用ref引用组件请参考 vue 说明文档)获取引用。

1.5 事件

zwplayervue3 组件提供了 onready、onmediaevent等事件,请参见事件说明

2. Vue 2.x

2.1 安装步骤

 

  1. 1. 安装 Vue 接口包

可以通过如下命令安装zwplayervue3.x接口包:

npm install zwplayer-vue2x --save
  1. 2. 验证安装

安装成功后,项目的 public 目录下会自动生成 zwplayer 核心库目录,该目录必须随项目一起构建发布。

2.2 组件注册

import { zwplayer } from 'zwplayer-vue2x'

export default {
  components: {
    zwplayer
  }
}

2.3 组件使用

Vue 2.x 版本的属性、方法和事件与 Vue 3.x 版本完全一致,请参考上述 Vue 3.x 的使用说明。

 

3. 示例仓库

3.1 Vue 3.x 示例

3.2 Vue 2.x 示例

4. 注意事项

  1. 目录结构: 安装前确保项目存在 public 目录

  2. 核心库: public/zwplayer 目录必须随项目一起发布

  3. 动态加载: ZWPlayer 采用动态加载机制,支持无缝升级

  4. 方法调用: 通过 ref 引用调用播放器方法

目录导航