首页 > 数据库 >vue项目播放本地音频和数据库音频

vue项目播放本地音频和数据库音频

时间:2024-08-02 10:31:41浏览次数:13  
标签:axios 音频 vue 本地 数据库 mock

前期准备:vue项目,安装好了axios和mock,如果没有可以看我的博客全新vue项目使用mock

实现效果:点击按钮之后,可以播放音频,本地音频是放在vue项目里的,数据库音频是需要调用后端请求获得音频的(这里是获取mock中的base64音频数据)

vue项目vue-audio目录结果如下,其中我在public/static中放了2个音频文件

 

 

本地音频代码如下

<button type="button" @click="playLocalAudio">本地音频</button>
//本地音频,从public/static中取音频
    playLocalAudio() {
      const loacalUrl = `${location.protocol}//${location.host}/static/test1.mp3`
      new Audio(loacalUrl).play();
    },

数据库音频代码如下

<button type="button" @click="playDatabaseAudio">数据库音频</button>
//数据库音频,从数据库中取音频文件(这里是通过mock)
    playDatabaseAudio() {
      axios.get('/api/tests').then(response => {
        new Audio(response.data.value).play();
      });
    }

完整代码如下

<template>
  <div class="hello">
    <button type="button" @click="playLocalAudio">本地音频</button>
    <button type="button" @click="playDatabaseAudio">数据库音频</button>
  </div>
</template>

<script>
import axios from 'axios';
export default {
  name: 'HelloWorld',
  props: {
    msg: String
  },
  methods: {
    //本地音频,从public/static中取音频
    playLocalAudio() {
      const loacalUrl = `${location.protocol}//${location.host}/static/test1.mp3`
      new Audio(loacalUrl).play();
    },
    //数据库音频,从数据库中取音频文件(这里是通过mock)
    playDatabaseAudio() {
      axios.get('/api/tests').then(response => {
        new Audio(response.data.value).play();
      });
    }
  }
}
</script>

其中数据库音频获取的base64,需要在mock中定义(base64太大了,我这里就不贴出来了,可以在我的项目里看)

 

运行并打开网站,简单的2个按钮,实现不同的效果。网页上会播放音频,并显示耳机图标。

项目github地址:jjishugaochao/vue-audio: vue项目播放本地音频和数据库音频 (github.com)

标签:axios,音频,vue,本地,数据库,mock
From: https://www.cnblogs.com/jishugaochao/p/16313972.html

相关文章

  • 全新vue项目使用mock
    首先这里不介绍mockjs有多少优点,只是记录一个全新的vue项目如何安装并使用mock。安装vue项目(不想安装新项目,可直接跳过,看安装mockjs内容)在命令行输入安装命令vuecreatevue-mock    vue3或者vue2都可以,默认enter键一直就装好了安装mockjs使用vsCode打开刚才的项目......
  • vue的watch场景
    这里主要列举一下,监听的是对象的各种情况data(){return{test:{id:'id1',name:'name1'}};},情况一:监听对象watch:{test:{handler(value){console.log('test-value',value);},deep:false}}情况......
  • vue的computed场景
    这里主要列举一下,计算属性内是对象的各种情况data(){return{test:{id:'id1',name:'name1'}};},情况一:返回对象computed:{testValue(){returnthis.test;}}情况二:返回对象的属性computed:{testValue(){returnthis.t......
  • druid数据库连接池在使用中遇到的一些问题和说明
    getconnectiontimeoutretry:12024-02-0611:18:26.364ERROR23752---[eate-1838225797]com.alibaba.druid.pool.DruidDataSource:createconnectionSQLException,url:jdbc:oracle:thin:@192.168.66.88:1521:orcl,errorCode17002,state08006有正在执行的SQL......
  • vue生成初始化名字相近的变量并放到数组中
    项目上有一个需求,页面上有50、60个数据变量,是依次排序递增的变量,中间有个别变量用不到,不想把这些变量直接定义在data(){}内。直接上代码1.在mounted(){},大括号内定义并初始化变量1this.yx_1hddj_arr=[];2this.yx_2hddj_arr=[];3this.yx_3hddj_arr......
  • 《常见几大数据库》
    常见几大数据库MySQL:你的多功能衣柜MySQL的特点是:Oracle:你的智能图书馆Oracle的特点是:TiDB:你的弹性购物中心TiDB的特点是:OceanBase:你的智慧城市OceanBase的特点是:TDSQL:企业管理专家OceanBase的特点是:自动水平拆分领先的分布式架构不停机弹性扩展强同步复制超高性能......
  • 见证中国数据库的崛起:从追赶到引领的壮丽征程《三》
    见证中国数据库的崛起:从追赶到引领的壮丽征程《三》三、深度思考:中国数据库发展的经验与启示产学研用结合的创新模式应用驱动的创新路径人才培养的关键作用【纪录片】中国数据库前世今生在数字化潮流席卷全球的今天,数据库作为IT技术领域的“活化石”,已成为数字经济......
  • android 音频播放器,(一)SoundPool音频播放实例
    1.Apk内,预定义按键与触发按键:layout按键定义:  <Button    android:id="@+id/start"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:textAllCaps="false"    an......
  • 数据库系列: 主流分库分表中间件介绍(图文总结)
    相关文章数据库系列:MySQL慢查询分析和性能优化数据库系列:MySQL索引优化总结(综合版)数据库系列:高并发下的数据字段变更数据库系列:覆盖索引和规避回表数据库系列:数据库高可用及无损扩容数据库系列:使用高区分度索引列提升性能数据库系列:前缀索引和索引长度的取舍数据库系列:My......
  • 高性能数据库架构:掌握主从复制技术
    一、数据库主从复制的概念数据库主从复制是一种常用的技术,用于提高数据库系统的可用性、性能和可靠性。通过将数据从主数据库(master)复制到从数据库(slave),可以实现数据的备份、负载均衡和高可用性。以下是对数据库主从复制的详细解释及其在MySQL中的具体实现步骤和示例。1.......