音频文件播放与暂停

/**
 * 播放音频文件
 * @param {string} id 唯一编码
 * @param {string} file 文件路径
 * @param {boolean} loop 是否循环播放
 * @param {number} volume 声音大小
 */
export const playAudio = (id: string, file: string, loop: boolean, volume = 1) => {
  const audioplayer = document.getElementById(id) as HTMLAudioElement;
  if (audioplayer != null) {
    audioplayer.play();
  } else if (file) {
    if (navigator.userAgent.indexOf('MSIE') > 0) { // IE
      const player: any = document.createElement('bgsound');
      player.id = id;
      player.src = file;
      player.volume = volume;
      player.setAttribute('autostart', 'true');
      if (loop) {
        player.setAttribute('loop', 'infinite');
      }
      document.body.appendChild(player);
    } else { // Other FF Chome Safari Opera
      const player = document.createElement('audio');
      player.id = id;
      player.volume = volume;
      player.setAttribute('autoplay', 'autoplay');
      if (loop) {
        player.setAttribute('loop', 'loop');
      }
      document.body.appendChild(player);
      const mp3 = document.createElement('source');
      mp3.src = file;
      mp3.type = 'audio/mpeg';
      player.appendChild(mp3);
    }
  }
};

export const stopAudio = (id) => {
  const player: any = document.getElementById(id);
  if (player != null) {
    player.pause();
    player.currentTime = 0;
  }
};

使用

	stopAudio('phoneNumberClick');
	playAudio('phoneNumberClick', '/resource/audios/press.wav', false);

    playAudio('audioplane', '/resource/audios/ringtone.mp3', true, volume);

移除所有的音频

const removeVideos = () => {
  // TODO
  const videos: any = document.querySelector('.videos');
  if (videos) {
    videos.querySelectorAll('video').forEach((item) => {
      item.pause();
    });
    videos.style.display = 'none';
  }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值