vue使用windows自带能力播放音频

场景:

当vue开发web端系统的时候,想播放一些自定义音频。例如播放一些系统信息的时候,就可以使用这个原生的能力。不局限于播放mp3等格式的固定音频。

注意:浏览器有限制,需要点击一下界面,或者说界面有点击操作,才会触发语音播放,默认进来不点击界面,无论怎么自动调用都是不起效的

代码实现:
//播放操作
playAudio(){
    //没开声音就不再播放
    if(window.localStorage.volume!='true')return
    //初始化一次
	let to_speak = new SpeechSynthesisUtterance();
    to_speak.voiceURI = 'Google 普通话(中国大陆)';
    to_speak.rate = 1;
    to_speak.volume = 100

    to_speak.text = '的升级附加赛速度和加速度仅仅是'
    //播放语音
    window.speechSynthesis.speak(to_speak);
    // console.log('这个呀',to_speak)
  },
  touchClick(){
    //切换声音开关   
    //关闭  就cancel这个队列
    //打开  就正常执行
    new Promise((r)=>{
      this.volume = !this.volume
      r()
    }).then(()=>{
      if(!this.volume){
        //关闭就立即停止
        window.speechSynthesis.cancel();
      }
    })
    window.localStorage.volume = this.volume
  },
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是一个使用 Vue.js 控制 HTML5 音频按顺序播放的示例代码: ```html <template> <div> <audio ref="audio" controls @ended="playNext"> <source v-for="(src, index) in sources" :key="index" :src="src" type="audio/mpeg"> Your browser does not support the audio tag. </audio> </div> </template> <script> export default { data() { return { sources: ['audio1.mp3', 'audio2.mp3', 'audio3.mp3'], index: 0 }; }, methods: { playNext() { this.index++; // 播放索引加 1 if (this.index < this.sources.length) { this.$refs.audio.src = this.sources[this.index]; // 切换到下一个音频文件 this.$refs.audio.play(); // 播放音频 } } }, mounted() { this.$refs.audio.src = this.sources[this.index]; // 设置第一个音频文件的路径 this.$refs.audio.play(); // 播放第一个音频文件 } }; </script> ``` 这个代码示例中,我们使用Vue.js 的 `ref` 属性来获取 `audio` 元素的引用,并使用 `v-for` 指令动态生成多个 `source` 元素以设置多个音频文件的路径。在 `data` 中定义了一个 `sources` 数组来存储所有音频文件的路径,以及一个 `index` 变量来记录当前播放的是哪个音频文件。在 `methods` 中定义了一个 `playNext` 方法,用于在监听到音频播放结束事件时切换到下一个音频文件并播放。在 `mounted` 生命周期钩子中,我们设置了第一个音频文件的路径,并调用 `play()` 方法开始播放。 这个示例代码中,只需要将所有音频文件的路径添加到 `sources` 数组中即可,Vue.js 代码会自动按顺序播放这些音频文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_小郑有点困了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值