vue实现音频audio列表循环,实现暂停播放切换

这篇具有很好参考价值的文章主要介绍了vue实现音频audio列表循环,实现暂停播放切换。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

功能界面如下
vue控制audio,vue.js,音视频,javascript,es6

功能使用如下:文章来源地址https://www.toymoban.com/news/detail-516148.html

  1. 首先根据后端返回的音频地址进行渲染,其中playAudioSrc字段用来控制暂停样式还是播放样式,audio进行隐藏
<ul class="virtualAvararFooterRightContentAudio">
    <li v-for="($item,$index) in virtualAvatarAudio" :key="$index" :style="{'border':(virtualAvatarFooterAudioIndex == $index) ? '1px solid #fff' :'none'}" @click.stop="selectVirtualAvatarAudio($item,$index)">
        <img @click="virtualAvatarPlayAudio($item,$index)":src="$item.playAudioSrc ? require('../assets/img/ai/audioBf.png') : require('../assets/img/ai/voice.png')" alt="">
      	<div>
             <p>{{$item.name}}</p>
          	 <!-- <span>0.26s</span> -->
         </div>
         <audio class="virtualAudio" :src="$item.path" style="display:none" :ref="'audio'+$index" controls></audio>
     </li>
 </ul>
  1. vue处理逻辑如下
   virtualAvatarPlayAudio(item,index){
            const audiosDom = document.getElementsByClassName('virtualAudio');
            let audios = [...audiosDom]
            if(item.playAudioSrc){
                //暂停该音频播放
                item.playAudioSrc = false
                // this.playAudio1.pause()
                audiosDom[index].pause()
            }else{
                //播放音频
                item.playAudioSrc = true
                audiosDom[index].play()
                audios.forEach((item_,index_)=>{
                    if(index_ != index){
                        //其他的音频
                        audiosDom[index_].pause()
                    }
                })
                //其他的音频暂停样式书写
                this.virtualAvatarAudio.forEach((item__,index__)=>{
                    if(index__ != index){
                        item__.playAudioSrc = false
                    }
                })
                //监听当前音频播放完毕后,使当前音频更改为暂停样式
                audios[index].addEventListener('ended', ()=> {
                    item.playAudioSrc = false
                }, false);
                 
            }
        },

到了这里,关于vue实现音频audio列表循环,实现暂停播放切换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Audio API 实现音频播放器

    市面上实现音频播放器的库有很多,比如wavesurfer.js、howler.js等等,但是都不支持大音频文件处理,100多M的文件就有可能导致程序崩溃。总之和我目前的需求不太符合,所以打算自己实现一个音频播放器,这样不管什么需求 在技术上都可控。下面我们简单介绍下 wavesurferJs 、

    2024年02月10日
    浏览(45)
  • Unity点击按钮实现音频暂停和播放

    省流:完整代码在底部 1、导入命名空间 2、创建变量 3、第一帧开始时调用 4、每帧调用 5、定义方法MusicSwitch 6、创建按钮添加脚本和音频播放器(Audio Source)组件,把按钮拖到脚本上 完整代码

    2024年02月04日
    浏览(48)
  • flutter开发实战-实现音效soundpool播放音频及控制播放暂停停止设置音量

    flutter开发实战-实现音效soundpool播放音频 最近开发过程中遇到低配置设备时候,在Media播放音频时候出现音轨限制问题。所以将部分音频采用音效sound来播放。 在iOS中使用sound来播放mp3音频示例如下 在iOS中通过soundID,可以控制播放与暂停,当然iOS中sound播放完成有通知回调c

    2024年02月14日
    浏览(50)
  • 网易云音乐开发--音乐播放暂停切换上下首功能实现

     问题就是我们点击播放,暂停之后,再次播放,它会多次发起请求。而我们现在对它的优化是,不需要重复的发起请求 这里我们通过把musicLink改为形参的方式,如果有给它传入参数,没有链接那么就让它发起请求,如果有那就继续走下去。而且我们将musicLink保存到data中 

    2024年02月06日
    浏览(42)
  • 微信小程序——实现音乐播放器(上下切换歌曲、进度条拉动、暂停与继续播放)

    小伙伴们你们有没有想过自己搞一个播放器,播上自己喜欢的歌单,那是多么的惬意啊~ 之前,小编遇到一个项目,语音导览的播放器。其实跟播放歌单一个道理。 但是一看微信开发文档里面的音频API又是那么多,我们该如何选择呢?在这里小编选择了使用wx.createAudioContext

    2024年02月02日
    浏览(62)
  • vue前端获取/切换麦克风,播放采集音频和采集音量大小

    使用时确保你有如下依赖且版本为Vue2,终端里面运行 重要代码:audio: { deviceId: this.form.chooseMicDeviceId },将上面选的麦克风放到getUserMedia中,即可启用用户自己选择的麦克风 在sendData中可以把数据流传给后端,可以播放/下载采集到的数据流,也可以将数据流转换成file传给后端

    2024年02月08日
    浏览(46)
  • Android Audio实战——音频播放(十)

            Android SDK 提供了3套音频播放的API,分别是:MediaPlayer,SoundPool,AudioTrack。简单来说,MediaPlayer 更加适合在后台长时间播放本地音乐文件或者在线的流式资源。SoundPool 则适合播放比较短的音频片段,比如游戏声音、按键声、铃声片段等等,它可以同时播放多个音频

    2024年02月15日
    浏览(45)
  • vue 项目中使用video实现视频播放效果暂停播放(多个视频)

    根据ref判断是否暂停状态返回 true false vue 控制video视频的播放暂停(多个视频) 安装video.js 在main.js中引用 页面

    2024年02月11日
    浏览(54)
  • audio音频不能自动播放的解决方法

    由于浏览器限制的原因,不允许自动播放audio音频,尝试网上的方法后也没有进展(如果有解决方法,欢迎评论~) 一、首先创建 audio 标签 二、因为在页面刷新后需要先执行动画,动画完成后才去播放音乐,所以在执行 mounted 函数时,先加载音乐源 三、在动画完成后,进

    2024年02月11日
    浏览(113)
  • 原生JS轮播图+自动播放+按钮切换+鼠标经过暂停+底部圆点切换

    手搓一个原生的JS轮播图,HTML部分就随意写了一点,重点的逻辑还是在JS中,可以实现自动播放banner图片,还有按钮点击切换banner和底部小圆点,点击底部小圆点可以切换banner图等功能,先上个图吧,是不是很丰富`_`  先放 JS部分 的代码吧,主要用到了点击事件、定时器等技

    2024年02月06日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包