首页 > 其他分享 >vue中添加音频和视频

vue中添加音频和视频

时间:2023-08-27 09:22:32浏览次数:34  
标签:视频 vue const 音频 player video import true

视频播放功能

1. 安装vue-video-player

npm install vue-video-player --save

yarn add vue-video-player --save

2. 在main.js中全局引用

import VueVideoPlayer from 'vue-video-player'
import 'video.js/dist/video-js.css'
import 'vue-video-player/src/custom-theme.css'

Vue.use(VueVideoPlayer)

或以局部方式按需引入

import 'video.js/dist/video-js.css'
import 'vue-video-player/src/custom-theme.css'

注:在此处可能会出现引用不上的错误,npm ERR! 404 Not Found - GET https://registry.npmjs.org/@types%2fvue-video-player - Not found

这个报错是因为察觉到组件引用不了,所以再次安装vue-video-player,解决方法就是在根目录手动创建声明文件,手动创建一个 TypeScript 声明文件(.d.ts 文件),来为 vue-video-player 添加类型声明。在项目的根目录中创建一个新文件,命名为 vue-video-player.d.ts,然后添加以下内容:

declare module 'vue-video-player';

这将告诉 TypeScript vue-video-player 模块的类型信息,尽管这些信息可能不是很准确。还有一个解决方案就是你可以在 TypeScript 配置中关闭严格模式,这样 TypeScript 将不会强制执行类型检查。在 tsconfig.json 文件中将 "strict": true 更改为 "strict": false

3. 视频播放器

<video-player
      ref="videoPlayer"
      class="video-player vjs-custom-skin"
      @play="handlePlay"
      @pause="handlePause"
      :options="playerOptions">
</video-player>

配置参数 

<script>
import { ref } from 'vue';

export default {
  setup() {
    const videoPlayer = ref(null);

    const audioSource = ref('./assets/music.mp3');

    const playerOptions = {
      height: 400,
      // playbackRates: [0.7, 1.0, 1.5, 2.0],  //视频加速
      autoplay: false,
      muted: false,
      loop: false,
      preload: 'auto',
      language: 'zh-CN',
      fluid: true,
      sources: [
        {
          type: 'video/mp4',
          src: require('./assets/video.mp4')
        }
      ],
      poster: require('./assets/04.jpg'),   // 封面地址
      notSupportedMessage: '此视频暂无法播放,请稍后再试',
      controlBar: {
        timeDivider: true,   //当前时间和持续时间的分隔符
        durationDisplay: true,   //显示持续时间
        remainingTimeDisplay: false,  //是否显示剩余时间功能
        fullscreenToggle: true,  //全屏按钮
        showPlayButton: true,
      }
    };

    const showPlayButton = ref(true);

    const handlePlay = () => {
      showPlayButton.value = false;
    };

    const handlePause = () => {
      showPlayButton.value = true;
    };
    

    return {
      videoPlayer,
      playerOptions,
      showPlayButton,
      handlePlay,
      handlePause,
      audioSource,
    };
  },
};
</script>

注:此参数中包含以下音频播放器的参数

音频播放功能

<audio ref="audioPlayer" controls>
    <source :src="audioSource" type="audio/mpeg">
    您的浏览器不支持
</audio>

 

标签:视频,vue,const,音频,player,video,import,true
From: https://www.cnblogs.com/yj179101536/p/17659858.html

相关文章

  • Qt简易读取视频
    #include"mainwindow.h"#include"ui_mainwindow.h"#include<QMediaPlayer>#include<QtMultimedia/QMultimedia>#include<QtMultimediaWidgets/QVideoWidget>MainWindow::MainWindow(QWidget*parent):QMainWindow(pare......
  • 小白整理了VUEX
    在小白开发的项目中前端使用的是Vue,虽然在日常工作中可以使用Vue进行开发工作。但是没有系统的学习过Vue,对Vue的一些特性和方法使用时常常需要查询资料解决问题,查询资料常常会占用大量时间,尤其对Vuex的使用。虽然可以通过很多Vue框架中带有的Vuex框架直接使用,但是用的越多,小白就会......
  • 在vue中使用svg
    背景svg作为矢量图,放大不失真,但是如果在vue文件中直接引入svg的话会导致vue文件过长,不友好。想要在组件中使用的时候使用下面的方式来引入svg//svg-name的值就是svg图片的名称<svg-iconsvg-name="xueren"/>步骤在components下创建SvgIcon.vue文件,并引入assets/icons/sv......
  • 介绍视频直播提效神器,绿幕选购一篇搞明白。绿幕已确认收货,实测篇
     近期准备做短视频,做直播,研究了一下绿幕虚拟技术,真是个好东西。 全套技术分为硬件和软件二部分。硬件主要有,绿幕,灯光,相机,采集卡,麦克风,支架,其他小配件等等。软件主要就是指抠像软件,有一部分电脑的专用软件,主要有免费的OBS,收费的如vMix这类的;还有近几年新出来的,可以直接在手机......
  • vue--day70---搭建vuex 环境
    [email protected](Vuex)3.store4.vc==>store5.vue2中只能使用vuex的3版本  vue3中只能使用vuex的4版本6.store/index.js//改文件用于创建vuex最为核心的storeimportVuefrom'vue'//引入vueximportVuexfrom'vuex'Vue.use(Vuex)......
  • vue npm install报错
    PSI:\Vue3+ts+e-plus后台管理\vue3-ts-element-plus-master\vue3-ts-element-plus-master>npminstallnpmERR!codeERESOLVEnpmERR!ERESOLVEcouldnotresolvenpmERR! npmERR!Whileresolving:[email protected]!Found:[email protected]!node_......
  • vue 错误
    npmERR!Conflictingpeerdependency:[email protected]!node_modules/vuenpmERR! peervue@"^3.2.0"from@element-plus/[email protected]! node_modules/@element-plus/icons-vuenpmERR!  @element-plus/icons-vue@"^2.1.0"fromth......
  • vue2中上传多个文件的方法
    在Vue2中,可以使用HTML5的input元素的multiple属性来实现上传多个文件。首先,在模板中添加一个input元素,并设置type为file,multiple为true:<inputtype="file"multiple@change="handleFileUpload">然后,在Vue实例中,定义handleFileUpload方法来处理文件上传事件:methods:{handleFil......
  • VSCODE工具 VUE代码格式化插件及配置
    1.安装插件1.1Prettier它通过解析代码并使用自己的规则重新打印它,并考虑最大行长来强制执行一致的样式,并在必要时包装代码。如今,它已成为解决所有代码格式问题的优选方案;支持JavaScript、Flow、TypeScript、CSS、SCSS、Less、JSX、Vue、GraphQL、JSON、Markdown等语......
  • nginx部署vue项目报404问题
    解决刷新路由404问题这是因为我的vue项目是采用了history路由模式,又因为vue是单页面应用,一旦切换路由之后,之前的页面就会不存在,然后你再刷新回到之前的页面就会出现404了。(个人理解)解决的方法:将路由模式修改为hash模式(不建议,hash模式#太丑)修改nginx配置location/{tr......