web视频播放组件(easyplayer)和音频组件播放封装(vue-aplayer)

news/2024/7/10 0:50:55 标签: web, 视频, 音频, vue
webkit-tap-highlight-color: rgba(0, 0, 0, 0);">

webeasyplayervueaplayer_2">web视频播放组件(easyplayer)和音频组件播放封装(vue-aplayer)

使用只需要传相应的参数就可以使用,比较方便快捷。

easyplay使用教程:https://blog.csdn.net/qq_44891434/article/details/118525941

vueaplayerhttpsaplayernetlifyappdocsguideoptionshtmlautoplay_5">vue-aplayer使用教程:https://aplayer.netlify.app/docs/guide/options.html#autoplay


视频子组件编写

vue"><template>
  <!-- 采用easyplayer.js -->
  <div :style="esayvideowidth">
    <easy-player :video-url="videoUrl" :poster="videoImg" :autoplay="false" />
  </div>
</template>

<script>
import EasyPlayer from '@easydarwin/easyplayer'
import 'videojs-contrib-hls'
export default {
  components: {
    // eslint-disable-next-line vue/no-unused-components
    EasyPlayer
  },
  // eslint-disable-next-line vue/require-prop-types
  props: ['esayurl', 'esayvideowidth'],
  data() {
    return {
      videoUrl: this.esayurl,
      videoImg: require('@/assets/3.jpg')
    }
  }
}
</script>


音频子组件封装

vue"><template>
  <div :style="audiowidth">
    <!--music:当前播放的音乐。 list:播放列表 :showlrc:是否显示歌词-->
    <aplayer :music="videoUpload.music" />
  </div>
</template>

<script>
import aplayer from 'vue-aplayer'
export default {
  components: {
    aplayer
  },
  // eslint-disable-next-line vue/require-prop-types
  props: ['audiourl', 'audiowidth'],
  data() {
    return {
      videoUpload: {
        progress: false,
        progressPercent: 0,
        successPercent: 0,
        music: {
          title: '音乐播放器',
          author: ' ',
          // eslint-disable-next-line no-undef
          url: this.audiourl,
          pic: require('@/assets/music/audioBg.png')
          // lrc: '[00:00.00] (,,•́ . •̀,,) 抱歉,当前歌曲暂无歌词'
        }
      }
    }
  },
  mounted() {
  }
}
</script>

<style lang="scss" scoped>

</style>

父组件调用

vue"><template>
  <!-- vue-video-player -->
  <div class="videoBox">
    <videoDisplay />
    <EsayVideo :esayurl="'/api/manager/file/materail/2021/0710/210710153208424119054.mp4'" :esayvideowidth="'width:800px;margin:1%;'" />
    <AudioPlay :audiourl="'/api/manager/file/materail/2021/0715/210715171331958135001.mp3'" :audiowidth="'width:300px;margin:1%;'" />
  </div>
</template>

<script>
import videoDisplay from '@/components/video/index'
import EsayVideo from '@/components/video/esayVideo'
import AudioPlay from './audio.vue'
// import { manager } from '@/api/base'
// const URL = process.env.VUE_APP_BASE_API + manager
export default {
  components: {
    // eslint-disable-next-line vue/no-unused-components
    videoDisplay,
    // eslint-disable-next-line vue/no-unused-components
    AudioPlay,
    // eslint-disable-next-line vue/no-unused-components
    EsayVideo

  },
  data() {
    return {
      // audiourl: URL + '/file/materail/2021/0715/210715171331958135001.mp3',
      // esayurl: URL + '/file/materail/2021/0710/210710153208424119054.mp4'
    }
  },
  mounted() {
    console.log(this.audiourl)
  }
}
</script>


效果图展示

在这里插入图片描述


http://www.niftyadmin.cn/n/482783.html

相关文章

iOS开发-导航栏标题动画

正常做这种导航栏隐藏一般都是整体改变透明度实现的&#xff0c;觉得太low 了&#xff0c;所以就想能不能做的高大上一点&#xff0c;直接飞过去&#xff0c;于是乎就有了这 个动画&#xff0c;下面放上代码&#xff0c;下载链接放在文末&#xff1a; //核心的东西都在scrollV…

vue前后端分离项目各种请求封装+应用

vue前后端分离项目各种请求封装+应用 目录 http.js import axios from axios import qs from qs import httpApi from ./httpApi.js // const baseSrc = "" function setUrl(src) {let url = httpApi.api.baseSrc + httpApi.api[src]return encodeURI(url) }funct…

iOS12网页视频播放点击全屏按钮会导致闪退

最近在app中有一个h5界面&#xff0c;是一个视频播放的列表&#xff0c;然后在iOS12的手机上发生了如下几个问题&#xff1a; 第一&#xff0c;自动全屏播放&#xff0c;这个问题历来就有&#xff0c;很好解决&#xff1b; 第二&#xff0c;全屏后取消全屏&#xff0c;状态栏消…

怎么访问云服务器上的图片

怎么访问云服务器上的图片 1. 准备工作 你需要在阿里云或者腾讯云购买云服务器。配置宝塔面板。安装Tomcat 2. 具体操作步骤 1. 安装好Tomcat 2. 在宝塔界面开启相应的端口&#xff0c;端口为 8080 3. ip8080&#xff0c;访问一下&#xff0c;看是否出现如下图的界面&…

iOS开发-聊天气泡的绘制和聊天消息列表

iOS开发中什么最重要&#xff1f;流媒体&#xff1f;即时通讯&#xff1f;还是其他什么技术&#xff1f;其实都不是&#xff0c;最重要的东西诚然只是iOS的基础&#xff0c;比如画一个按钮&#xff0c;封装一个控件&#xff0c;扩展一个类等等。这些东西看似简单&#xff0c;实…

uni-app头像上传(完善个人信息功能),后端NodeJs+MySQL

1. uni-app代码 <template><view class"page-main"><view class"upload"><text>头像&#xff1a;</text><!-- <view class"box" click"chooseUploads"><image class"box-img" s…

iOS 离屏渲染的研究

本文转载自&#xff1a;https://www.jianshu.com/p/6d24a4c29e18 感觉写得很受用&#xff0c;拿过来学习下&#xff0c;分享下&#xff0c;记录下&#xff0c;可以时不时看看。如果作者认为侵权&#xff0c;可随时联系我删除。 GPU渲染机制&#xff1a; CPU 计算好显示内容提…

数字孪生技术即神器而又象征着未来的点滴

数字孪生项目小demo [demo](https://www.bilibili.com/video/BV1qN4y1V7M9/)1. 概述 1.1 概念 数字孪生体是现有或将有的物理实体对象的数字模型&#xff0c;通过实测、仿真和数据分析来实时感知、诊断、预测物理实体对象的状态&#xff0c;通过优化和指令来调控物理实体对象…