js播放提示音

最近在使用的时候,谷歌报错: Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause();所以后面建议采用静音和取消静音的方案去做;

export class FnAudio {
  audio: HTMLAudioElement
  playbackRate: number
  constructor () {
    this.audio = new Audio()
    this.playbackRate = 1
  }
  init () {
    this.audio.src = 'https://xx/xx/xxx.wav'
  }
  currentTime () { // 时间重置
    this.audio.currentTime = 0
  }
  play (callback?: any) { // 播放
 	try{
        this.muted(false);
        this.audio.playbackRate = this.playbackRate;
        this.audio.currentTime = 0;
        this.audio.play().then(() => {
        }).catch((error) => {
          // if (error.name === 'AbortError') { // 特别处理因pause()调用导致的中断
          //     console.error('The play() request was interrupted by a call to pause().');
          // } else {
          //     console.error('An error occurred while playing media:', error);
        });
      } catch(err) {

      }
  }
  /* 谷歌报错: Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause(). */
  // 静音
  muted(is: boolean) {
    this.audio.muted = is;
  }
  // 设置音量
  volume(num: number) {
    this.audio.volume = num;
  }
  pause (callback?: any) { // 暂停
    this.audio.pause()
  }
}
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值