表格自定义音频播放组件

1.在使用的地方调用

 <Audiosvue  ref="audio" class="audio-box" :audioFile="item.cont"></Audiosvue>

 2.引入组件

import Audiosvue from "@/components/audio";

 3.组件

<template><div><div style="display: flex;align-items: center;"><input type="range" v-model="progress" min="0" max="100" step="0.1" @input="updateAudioTime"  class="inputStyle"><span style="width: 100px;display: block;">{{ currentTime }} / {{ totalTime }}</span><button @click="playPauseAudio">{{ isPlaying ? '暂停' : '播放' }}</button></div></div>
</template><script>
export default {props: {audioFile: {type: String,},},data() {return {audio: null,isPlaying: false,currentTime: '00:00',totalTime: '00:00',progress: 0,isDragging: false};},computed: {},mounted() {// this.fetch();},created() {// 创建 Audio 对象this.audio = new Audio(this.audioFile);// 监听时间更新事件
this.audio.addEventListener('timeupdate', this.updateTimeAndProgressBar);},methods: {playPauseAudio() {if (this.isPlaying) {this.audio.pause();} else {this.audio.play();}this.isPlaying = !this.isPlaying;},updateAudioTime() {const currentTime = (this.progress / 100) * this.audio.duration;this.audio.currentTime = currentTime;if (!this.isDragging) {this.updateTimeAndProgressBar();}},updateTimeAndProgressBar() {const currentTime = this.audio.currentTime;const totalTime = this.audio.duration;this.currentTime = this.formatTime(currentTime);this.totalTime = this.formatTime(totalTime);this.progress = (currentTime / totalTime) * 100;},formatTime(time) {const minutes = Math.floor(time / 60);const seconds = Math.floor(time % 60);return `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;}},
};
</script><style lang="scss" scoped>
.inputStyle{width: 200px;
}
</style>

4.效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/712733.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

优化Vue项目中 WebStorm:2023.3 对 CSS 和 HTML 的默认注释

前言 WebStorm是一种基于JetBrains IntelliJ平台的集成开发环境&#xff08;IDE&#xff09;&#xff0c;专门用于Web开发。它支持JavaScript、HTML和CSS等语言&#xff0c;并提供了丰富的功能和工具&#xff0c;以提高开发人员的效率。但是&#xff0c;在开发Vue项目中发现&a…

(科目三)计算机操作系统

1、操作系统的基本概念及功能 1.1概念 一、操作系统的概念 操作系统是运行在裸机之上的&#xff0c;控制和管理计算机硬件和软件资源、合理组织计算机工作流程一级方便用户操作的程序集合。 操作系统由一套分层次的控制程序组成&#xff0c;是计算机硬件的一级扩充是软件系…

【爬虫逆向实战 逆向滑块 Python+Node】今天逆向的网站有点嘿嘿,还是仅供学习,别瞎搞

逆向日期&#xff1a;2024.03.01 使用工具&#xff1a;Node.js、Python 加密方法&#xff1a;AES标准算法 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 AES解密处理&#xff08;直接解密即可&#xff09;&#xff08;crypto-js.js 标准算…

实现unity场景切换

本文实现两个按键实现场景1和场景2之间的切换 ①首先在unity 3D中创建两个场景&#xff0c;分别为Scene1和Scene2 ②在Scene1中创建一个Button&#xff0c;修改txt内容为“To Scene2”&#xff0c;并在Buttons下创建一个空物体&#xff0c;用于挂载脚本。 脚本Trans Scene.…

操作系统x面试|进程与线程

1. 线程进程的区别 进程可以称为是资源分配的最小单元&#xff0c;而线程可以称为是处理器分配的最小单元。 资源包括内存空间。同时进程是一段代码的执行过程&#xff0c;这段代码需要多少的内存在代码确定时已经确定下来了。 处理器就是执行单元&#xff0c;一个进程可以拆解…

程序员的金三银四求职宝典

程序员的金三银四求职宝典 金三银四&#xff0c;即三月和四月&#xff0c;是程序员求职的黄金时期。在这个关键时期&#xff0c;求职者们需要做好充分的准备&#xff0c;以便在面试中脱颖而出。以下是一些建议&#xff0c;帮助程序员在金三银四期间更好地准备求职&#xff1a;…

【DAY06 软考中级备考笔记】数据结构:树

数据结构&#xff1a;树 3月1日 – 天气&#xff1a;晴 之前在B站看的视频讲的是在太过简单&#xff0c;弃了。现在换了新的视频继续&#xff0c;后续会重新看前面的视频补过来。https://www.bilibili.com/video/BV1pT4m1S7uH/ 1. 树的基本概念 需要注意的是&#xff1a; 并不是…

CentOS7使用yum安装MySQL8.0教程

CentOS7使用yum安装MySQL8.0 一、下载MySQL Yum下载仓库二、安装MySQL三、为MySQL运行提供相关的用户以及环境四、启动MySQL五、MySQL开机自启六、修改MySQL中root账户的密码 一、下载MySQL Yum下载仓库 MySQL下载地址&#xff1a;https://dev.mysql.com/downloads/ 首先进入下…

Java通过Semaphore控制同一时间只有3个线程运行

怎么控制同一时间只有3个线程运行&#xff1f; 直接上代码 import java.util.Date; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Semaphore;public class SemaphoreThreadPoolExample {private static…

【网站项目】324企业人事信息管理系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

Windows下卸载JDK

操作步骤&#xff1a; 直接到windows程序卸载面板进行卸载 然后删除已配置的环境变量

深入解析Golang的encoding/ascii85库:从基础到实战

深入解析Golang的encoding/ascii85库&#xff1a;从基础到实战 引言基础知识什么是ASCII85编码&#xff1f;ASCII85编码的工作原理ASCII85编码的优点ASCII85编码的缺点 使用Golang的encoding/ascii85库引入encoding/ascii85包ASCII85编码ASCII85解码实战示例小结 进阶技巧和最佳…

用于游戏开发的顶级 PYTHON 框架

一、说明 我们试图用python开发游戏&#xff0c;一旦产生这个念头&#xff0c;就伴随这样一个问题&#xff1a;当今用于构建游戏的领先 Python 框架有哪些&#xff1f;python下&#xff0c;支持游戏开发平台有哪些优势&#xff1f;我们在这篇博文中告诉你。 二、高级游戏平台简…

驱动高级--mknod

一、起源 仅devfs&#xff0c;导致开发不方便以及一些功能难以支持&#xff1a; 热插拔 不支持一些针对所有设备的统一操作&#xff08;如电源管理&#xff09; 不能自动mknod 用户查看不了设备信息 设备信息硬编码&#xff0c;导致驱动代码通用性差&#xff0c;即没有分离…

【改进算法】【IHAOAVOA】天鹰优化算法和非洲秃鹫混合优化算法

目录 1 主要内容 IHAOAVOA流程图 主要创新点 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序复现《IHAOAVOA: An improved hybrid aquila optimizer and African vultures optimization algorithm for global optimization problems》&#xff0c;天鹰优化算法&am…

spring boot3解决跨域的几种方式

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 &#x1f30a;山高路远&#xff0c;行路漫漫&#xff0c;终有归途。 目录 1.前言 2.何为跨域 3.跨域问题出现特征 4.方式一&#xff1a;使用 CrossOrigin 注解 5.方式二&#xff1a;自定义…

2024年3月2日 十二生肖 今日运势

小运播报&#xff1a;2024年3月2日&#xff0c;星期六&#xff0c;农历正月廿二 &#xff08;甲辰年丙寅月乙丑日&#xff09;&#xff0c;法定节假日。 红榜生肖&#xff1a;鸡、蛇、鼠 需要注意&#xff1a;狗、马、羊 喜神方位&#xff1a;西北方 财神方位&#xff1a;东…

微服务间通信重构与服务治理笔记

父工程 依赖版本管理,但实际不引入依赖 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation&…

力扣111 二叉树的最小深度 Java版本

文章目录 题目描述层序遍历解法递归解法 题目描述 给定一个二叉树&#xff0c;找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明&#xff1a;叶子节点是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,nu…

[SS]语义分割_膨胀卷积

膨胀卷积 目录 一、概念 1、定义 2、知识点 二、详细介绍 1、引入 2、膨胀系数设定 一、概念 1、定义 膨胀卷积&#xff08;Dilated Convolution&#xff09;&#xff0c;也称为空洞卷积&#xff08;Atrous Convolution&#xff09;&#xff0c;是一种在卷积神经网络…