vue使用audio 音频实现播放与关闭(可用于收到消息给提示音效)

这次项目中因为对接了即时通讯 IM,有个需求就是收到消息需要有个提示音效,所以这里就想到了用HTML5 提供的Audio 标签,用起来也是很方便,首先让产品给你个提示音效,然后你放在项目中,使用Audio 标签,然后引入这段提示音效即可,后续的操作也是我下面的代码,直接复制即可。
在 这里插入图片描述
具体内容参考W3C详细文档:http://www.w3school.com.cn/jsref/dom_obj_audio.asp

<template>
    <audio id="notionAudio" src="@/assets/audio/notionAudio.mp3" style="display:none;"></audio>
	<el-button @click="playNotionAudio">开启音频</el-button>
	<el-button @click="pauseNotionAudio">关闭音频</el-button>
</template>
<script>
export default {
  data() {
    return {
      is_open_audio: false, // 是否开启声音提示
    };
  },
  methods: {
  	// 如果你也想在收到消息的时候播放提示音效,在收到消息回调的方法里面执行这个方法(playNotionAudio)即可。
	playNotionAudio() {
        const audio = document.getElementById('notionAudio');
        if (audio) {
          audio.play().then(() => {
          console.log('播放成功');
          this.is_open_audio = true;
        }).catch(function(error) {
          console.log("播放失败,用户需要进行交互以播放音频: ", error);
        });
      } 
    },
    pauseNotionAudio() {
      // pause()方法只是暂停,这里还需要重新load,然后需要再次play,音乐就可重头播放。
      const audio = document.getElementById('notionAudio');
      if (audio) {
        audio.pause();
        audio.load();
        this.is_open_audio = false;
      } 
    }, 
  },
} 
</script>

相关推荐

  1. Vue 使用Audio或AudioContext播放本地音频

    2024-07-18 06:58:01       22 阅读
  2. Audio音频资源播放

    2024-07-18 06:58:01       41 阅读
  3. Android Audio实战——音频焦点监听(十)

    2024-07-18 06:58:01       57 阅读
  4. 音频解码器音乐播放器

    2024-07-18 06:58:01       19 阅读
  5. vue 播放aac格式音频文件

    2024-07-18 06:58:01       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 06:58:01       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 06:58:01       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 06:58:01       62 阅读
  4. Python语言-面向对象

    2024-07-18 06:58:01       72 阅读

热门阅读

  1. 建造者模式例题

    2024-07-18 06:58:01       22 阅读
  2. Electron 配置macOS平台的安装图标

    2024-07-18 06:58:01       24 阅读
  3. jQuery 语法

    2024-07-18 06:58:01       22 阅读
  4. 71、Flink 的 Hybrid Source 详解

    2024-07-18 06:58:01       21 阅读
  5. DLMS协议中的高级安全(HLS)身份验证

    2024-07-18 06:58:01       22 阅读
  6. C++ 士兵队列训练

    2024-07-18 06:58:01       26 阅读
  7. ffmpeg中的超时控制

    2024-07-18 06:58:01       21 阅读
  8. 令牌桶|Web服务中的令牌桶设计和实现

    2024-07-18 06:58:01       24 阅读
  9. 关于Flume和Flink

    2024-07-18 06:58:01       21 阅读
  10. k8s一些名词解释

    2024-07-18 06:58:01       21 阅读
  11. 我的原创加密技术——超撒加密

    2024-07-18 06:58:01       26 阅读