当前位置: 首页 > news >正文

缤纷网站免费做服装重庆网站外包

缤纷网站免费做服装,重庆网站外包,成都网站制作电话,专门做照片书的网站Vue自定义封装音频播放组件(带拖拽进度条) 描述 该款自定义组件可作为音频、视频播放的进度条,用于控制音频、视频的播放进度、暂停开始、拖拽进度条拓展性极高。 实现效果 具体效果可以根据自定义内容进行位置调整 项目需求 有播放暂停…

Vue自定义封装音频播放组件(带拖拽进度条)

描述

该款自定义组件可作为音频、视频播放的进度条,用于控制音频、视频的播放进度、暂停开始、拖拽进度条拓展性极高。

实现效果

在这里插入图片描述

具体效果可以根据自定义内容进行位置调整

项目需求
  1. 有播放暂停按钮
  2. 进度条可以跟随播放丝滑更新
  3. 有当前播放时间和总时间可以根据播放更新当前时间
  4. 可以点击进度条的某一处跳转到指定处进行播放
技术栈

vue2+elementUI || elementPlus || vant
vue3去掉了filter API

功能实现
  <template><div class="audio_wrap_content" :style="[{ backgroundColor: bgColor }]"><audioref="audio"@play="playFunc"@pause="pauseFunc"@timeupdate="timeupdateFunc"@loadedmetadata="onLoadedmetadata"@ended="handleEnd"><source :src="audioSrc" /></audio><div class="cudio_control_content"><img@click="startPlayOrPause"class="state_img":src="audio.playing ? stopImg : playImg"alt=""/><div class="state_time" style="marginRight:5px">{{audio.currentTime | formatSecond}}</div><div class="slider"><el-slider v-model="sliderTime" :show-tooltip="false" @change="onChange"></el-slider></div><!-- 这块代码是移动端的vant组件库可用于移动端H5 (如要用此代码则需要将css中的.slider:flex:1去掉 并将slider类名div注释即可) --><!-- <van-sliderv-model="sliderTime"bar-height="1px"active-color="#ffb900"button-size="4px"@change="onChange"><template #button><div class="custom-button"></div></template></van-slider> --><div class="state_time" style="marginLeft:5px">{{audio.maxTime | formatSecond}}</div></div></div></template><script>function formatTime(second) {let m = parseInt(second / 60);let s = parseInt(second % 60);let formatTime = "";if(second==0){return "0'00''"}if (m == 0) {if(s>=10){formatTime = "0'"+ s + "''";}else{formatTime = "0'0"+ s + "''";}} else {if(s>=10){formatTime = m + "'" + s + "''";}else{formatTime = m + "'0" + s + "''";}}return formatTime}export default {name: "AudioPlay",props: {bgColor: {type: String,default: "rgba(255,255,255,0.15)",},audioSrc: {type: String,default: require("@/assets/music/offer_des.mp3"),},themeColor: {type: String,default: "#ffb900",},},data() {return {value1:1,playImg: require("@/assets/images/play.png"),stopImg: require("@/assets/images/stop.png"),sliderTime: 0,audio: {maxTime: 0 /* 音频最大播放时长 */,currentTime: 0 /* 当前播放时长 */,playing: false /* 音频当前处于播放/暂停状态 */,},};},methods: {/* 播放音频 */play() {console.log("触发 播放");this.$refs.audio.play();},/* 暂停音频 */pause() {this.$refs.audio.pause();},/** 当音乐播放 */playFunc() {this.audio.playing = true;},/** 当音乐暂停 */pauseFunc() {this.audio.playing = false;},/** 当音乐结束 */handleEnd(){this.sliderTime = 0this.audio.playing = falsethis.audio.currentTime = 0},/* 每秒触发一次 用来更新当前播放时间 */timeupdateFunc(res) {this.audio.currentTime = res.target.currentTime/* 当音频播放时 进度条也要随之改变 */this.sliderTime = parseInt(this.audio.currentTime / this.audio.maxTime * 100)},/* 音频加载完成后的回调函数 */onLoadedmetadata(res) {console.log(111,'首次加载完成');this.audio.maxTime = parseInt(res.target.duration);},/* 控制音频播放、暂停 */startPlayOrPause() {console.log("bof",'暂停-播放');this.audio.playing ? this.pause() : this.play();},/* 拖动进度条,改变当前时间 value是进度条改变时的回调函数的参数 值为0~100之间,需要换算成实际时间 */onChange(value){console.log(value,'values');this.$refs.audio.currentTime = parseInt(value / 100 * this.audio.maxTime)// console.log(this.$refs.audio.currentTime , 'this.$refs.audio.currentTime ');}},filters: {formatSecond(second=0){return formatTime(second)}},};</script><style scoped lang="less">.audio_wrap_content {// width: 180px;height: 26px;border-radius: 15px;// transform: translateX(-25px);}.cudio_control_content {margin: 0 auto;width: 90%;height: 100%;display: flex;.slider{flex:1}justify-content: space-between;align-items: center;.state_img {width: 18px;height: 18px;}.custom-button {width: 8px;background-color: #ffb900;height: 8px;border-radius: 8px;}.state_time {font-family: "BIGJOHN";font-size: 10px;color: rgba(34, 34, 34, 0.3);margin-right: 3px;margin-left: 3px;}}</style>
http://www.hkea.cn/news/745986/

相关文章:

  • 网站优化工具升上去软文营销代理
  • 北京监理协会培训网站变现流量推广app
  • 邯郸做wap网站最全bt搜索引擎入口
  • 用网站做自我介绍pptsem推广竞价托管
  • 建设网站项目的目的是什么意思营销型网站方案
  • 濮阳网站建设价格南昌seo排名收费
  • jsp做网站案例steam交易链接在哪里看
  • 做网站需要招聘内容范本信息流广告
  • 如何建公众号外贸网站建设优化
  • 怎么把网站横幅做很大东莞营销推广公司
  • 网站运营与管理实训报告松松软文平台
  • 奉化云优化seo手机网站排名优化软件
  • h5响应式集团网站推荐电商平台有哪些?
  • 企业所得税税率三个档次关键词优化快排
  • 长宁区网站建设b2b免费发布平台
  • php 个人网站网站安全检测工具
  • 做的网站很卡是什么原因seochan是什么意思
  • 怎么做盗版视频网站吗百度权重1
  • 政府网站 建设 计划品牌推广策划方案案例
  • 临沂网站建设那家好小米市场营销案例分析
  • 德化网站建设企业中层管理人员培训课程
  • 网站怎么通过流量赚钱爱站网能不能挖掘关键词
  • 网站建设课后感营销型网站有哪些平台
  • 哪个网站做生鲜配送厦门seo外包公司
  • 水电行业公司设计logo重庆seo排名扣费
  • 可信赖的南昌网站制作站长工具网站
  • 济南建站公司电话成都关键词自然排名
  • 门户网站开发公司推广网页
  • 如何做网站认证实时军事热点
  • 上海的网站建设公司哪家好企业网站建设