微信小程序——给按钮添加点击音效

今天来讲解一下如何给微信小程序的按钮添加点击音效

注意:这里的按钮不一定只是 <button>,也可以是一张图片,其实只是添加一个监听点击事件的函数而已 

首先来看下按钮的定义

<button bind:tap="onInput" >点我有音效,来试试看?</button>

定义 button 按钮,同时给按钮添加了监听点击事件,一旦监听到按钮被点击了,就会执行 onInput() 函数 

此时,只需要在 onInut() 函数中设置音效的相关配置即可 

onInput: function(e){// 这里的参数 e 若其他功能无需使用到也可以不用// 这里可以写除了音效以外的功能// 按钮点击音效const innerAudioContext = wx.createInnerAudioContext()innerAudioContext.autoplay = false  // 是否自动开始播放,默认为 falseinnerAudioContext.loop = false  // 是否循环播放,默认为 falsewx.setInnerAudioOption({    // ios在静音状态下能够正常播放音效obeyMuteSwitch: false,   // 是否遵循系统静音开关,默认为 true// 当此参数为 false 时,即使用户打开了静音开关,也能继续发出声音success: function (e) {// 可以省略},fail: function (e) {// 可以省略}})// 音频文件路径innerAudioContext.src="/music/dial.mp3"// 音频播放innerAudioContext.play()// 这里可以写除了音效以外的功能}

其实原理很简单,就是创建了一个音频对象,然后对音频对象的各项属性进行了配置,如是否自动播放、是否循环播放、文件路径,最后调用音频对象的 play() 方法,这样音频就会播放了

到这里,关于给按钮添加音效的讲解就结束了 

那么,可能有同学就要问了,音效文件在哪里可以找到? 

在这里我也教你们一个方法,可以随便找一个下载音频的网站 

但是这些资源下载一般都是要收费的, 那么问题来了,怎么免费下载到呢?

按下键盘上的 “F12”,就会看到这样一个界面

选择 “Network” - “Media”(中文对应 “网络” - “媒体”),然后点击左上角 “清空”

接着在网页上点击播放你要的那一段音频,此时在上图的下方空白处就会出现对应的音频文件了

接着右键点击那个文件,选择 “Open in new tab”(在新的页面打开) 

最后点击最右侧的四个点,选择下载即可 

注意哦!这个方法不仅仅音频可以,视频也一样可以这样操作,除非网站做了特殊处理,不然都是可以成功操作的!

注意!注意!注意!个人学习使用可以,若为商业行为,造成侵权,概不负责!!! 

若是音频文件需要裁剪,又不想下载如 AU 这些专业音频剪辑软件,可以选择以下网站进行裁剪(注:非广告行为,仅学习推荐)

音频剪切器 mp3剪切 在线音频截取_免费在线工具-爱给网icon-default.png?t=N7T8https://www.aigei.com/tool/audio/trim 

一  叶  知  秋,奥  妙  玄  心 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/232113.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL之undo日志

聊聊undo log 什么是undo log undo log&#xff08;回滚事务&#xff09;&#xff0c;在事务没有提交前&#xff0c;MySQL将记录更新操作的反向操作到undo log日志中&#xff0c;以便进行回退保证事务的原子性 undo log的作用 1.提供回滚操作 我们在进行数据更新操作的时候…

实现一个高并发的Redis分布式锁

1. 无锁场景 下面是一个扣减库存逻辑, 由于查库存和扣减库存两个操作不是原子的,明显存在并发超卖问题 // 假设初始库存200GetMapping("/stock")public String stock(RequestParam(value "name", defaultValue "World") String name) {String…

TCP 基本认识

1&#xff1a;TCP 头格式有哪些&#xff1f; 序列号&#xff1a;用来解决网络包乱序问题。 确认应答号&#xff1a;用来解决丢包的问题。 2&#xff1a;为什么需要 TCP 协议&#xff1f; TCP 工作在哪一层&#xff1f; IP 层是「不可靠」的&#xff0c;它不保证网络包的交付…

leetCode 40.组合总和 II + 回溯算法 + 剪枝 + used数组 + 图解

给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用 一次 注意&#xff1a;解集不能包含重复的组合 示例 1: 输入: candidates [10,1,2,7,6,1,5], t…

AD1668A 双N/P沟道 MOS管 耐压20V 过流2.1A 适用于正反接充电

AD1668A 双N/P沟道 MOS管 耐压20V 过流2.1A 的集成MOS管&#xff0c;封装TSOT23-8封装&#xff0c;体积小&#xff0c;适用于板子较小的板子。相当于2个SI2301、2个SI2302的集成模块。 芯片的内阻 N沟道的基本参数 P沟道的基本参数 这种结构的方式是适用于正反接都能充电的结构…

从0开始学习JavaScript--JavaScript中的解构赋值及使用场景

在现代JavaScript中&#xff0c;解构赋值是一种强大而灵活的语法特性&#xff0c;它允许从数组或对象中提取值并赋给变量。这种语法不仅使代码更简洁&#xff0c;而且提高了可读性。在本篇文章中&#xff0c;将深入探讨JavaScript中解构赋值的基本概念、语法规则以及丰富的使用…

JenKins快速安装与使用

一、JenKins 0.准备&#xff0c;配置好环境 1&#xff09;Git&#xff08;yum安装&#xff09; 2&#xff09;JDK&#xff08;自行下载&#xff09; 3&#xff09;Jenkins&#xff08;自行下载&#xff09; 1.下载安装包 进官网&#xff0c;点Download下方即可下载。要下…

OpenCV项目开发实战--基本图像分割图生成器

欢迎回到我们有关 OpenCV 的系列文章以及我们如何利用其强大的图像预处理功能。在我们之前的文章的基础上,今天我们向您展示如何创建基本的图像分割图生成器。 具体来说,我们的图像掩模应该帮助识别每个像素是否: 背景的一部分(指定值为0)在感兴趣的对象的边缘(指定值 …

相机标定张正友、opencv和halcon对比(1)

本文将从基本标定开始&#xff0c;结合实际工作经验&#xff0c;分析张正友、opencv和halcon三者相机标定的深层原理与不同之处&#xff0c;内容比较多&#xff0c;如果出现错误请指正。 相机光学模型 我们使用的镜头都是由多组镜片组成&#xff0c;它实际上是一种厚透镜模型…

Java—学生信息管理系统(简单、详细)

文章目录 一、主界面展示二、学生类三、系统功能方法3.1 main()方法3.2 添加学生信息3.3 删除学生信息3.4 修改学生信息3.5 查看所有学生信息 四、完整代码4.1 Student .Java4.2 StudentManger.Java 前言&#xff1a;本案例在实现时使用了Java语言中的ArrayList集合来储存数据。…

中国毫米波雷达产业分析3——毫米波雷达市场分析(1~3)

一、总体市场 &#xff08;一&#xff09;总规模 近几年&#xff0c;得益于汽车智能化的高速发展与雷达芯片制作工艺的进步&#xff0c;国内毫米波雷达整体市场增速较快。根据初步测算&#xff0c;2022年中国毫米波雷达市场总规模达到86亿元&#xff0c;实现同比增长24.6%。 图…

【JUC】十六、LockSupport类实现线程等待与唤醒

文章目录 1、LockSupport2、wait和notify存在的问题3、await和signal存在的问题4、park和unpark方法5、LockSupport用法示例6、Permit不会累积7、面试 1、LockSupport 线程等待和唤醒的方式有&#xff1a; 使用Object的wait方法让对象上活动的线程等待&#xff0c;使用notify…