返回顶部
首页 > 资讯 > 精选 >小程序如何实现长按录音,上划取消发送功能
  • 627
分享到

小程序如何实现长按录音,上划取消发送功能

2023-06-26 08:06:24 627人浏览 薄情痞子
摘要

本篇内容主要讲解“小程序如何实现长按录音,上划取消发送功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小程序如何实现长按录音,上划取消发送功能”吧!1. html部分。微信小程序事件接口://

本篇内容主要讲解“小程序如何实现长按录音,上划取消发送功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小程序如何实现长按录音,上划取消发送功能”吧!

1. html部分。

微信小程序事件接口:

小程序如何实现长按录音,上划取消发送功能


//html部分 class部分只是控制样式 与功能无关分析:长按录音需要longpress事件,松开发送需要touchend事件,上滑取消发送需要touchmove事件。由此可有以下html代码

<div class="input weui-grid" hover-class="weui-grid_active" :class="record.type" @longpress="handleRecordStart" @touchmove="handleTouchMove" @touchend="handleRecordStop"><image class="weui-grid__icon"  :src="record.iconPath"/><div class="weui-grid__label">{{record.text}}</div></div>

2. js部分

2.1. 首先定义录音的数据结构

旧版的小程序录音接口wx.startRecord和wx.stopRecord在1.6.0版本后不再维护了,所以使用其建议的wx.getRecordManager接口。

注意:使用wx.getRecordManager接口的话,应调用相应的音频控制接口wx.createInnerAudiocontext()来播放和控制录音.

data(){          record: {          text: "长按录音",          type: "record",          iconPath: require("@/../static/icons/record.png"),          handler: this.handleRecordStart          }, //与录音相关的数据结构    recorderManager: wx.getRecorderManager(), //录音管理上下文        startPoint: {}, //记录长按录音开始点信息,用于后面计算滑动距离。          sendLock: true, //发送,当为true时上锁,false时解锁发送},

2.2. 监听录音stop

onLoad(){  this.recorderManager.onStop(res => {            if (this.sendLock) {              //上锁不发送            } else {//解锁发送,发送网络请求              if (res.duration < 1000)                    wx.showToast({                          title: "录音时间太短",                          icon: "none",                          duration: 1000                    });               else this.contents = [...this.contents,{ type: "record", content: res }];//contents是存储录音结束后的数据结构,用于渲染.            }          });}

2.3. 长按录音方法

在这个方法中需要做的事:

  • 记录长按的点信息,用于后面计算手指滑动的距离,实现上滑取消发送.

  • 做一些界面样式的控制.

  • 开始录音

handleRecordStart(e) {          //longpress时触发           this.startPoint = e.touches[0];//记录长按时开始点信息,后面用于计算上划取消时手指滑动的距离。           this.record = {//修改录音数据结构,此时录音按钮样式会发生变化。                text: "松开发送",               type: "recording",                 iconPath: require("@/../static/icons/recording.png"),                   handler: this.handleRecordStart              };              this.recorderManager.start();//开始录音              wx.showToast({                title: "正在录音,上划取消发送",                icon: "none",                duration: 60000//先定义个60秒,后面可以手动调用wx.hideToast()隐藏              });              this.sendLock = false;//长按时是不上锁的。      },

2.4. 松开发送

在这个方法中需要做的事:

  • 做一些样式的控制.

  • 结束录音.

  handleRecordStop() {          // touchend(手指松开)时触发          this.record = {//复原在start方法中修改的录音的数据结构            text: "长按录音",            type: "record",            iconPath: require("@/../static/icons/record.png"),            handler: this.handleRecordStart          };          wx.hideToast();//结束录音、隐藏Toast提示框          this.recorderManager.stop();//结束录音      }

2.5. 上划取消发送

在这个方法中需要做的事:

  • 计算手指上滑的距离

  • 根据距离判断是否需要取消发送

  • 如果取消发送,最重要的是this.sendLock = true,上锁不发送

  handleTouchMove(e) {          //touchmove时触发          var moveLenght = e.touches[e.touches.length - 1].clientY - this.startPoint.clientY; //移动距离          if (Math.abs(moveLenght) > 50) {            wx.showToast({                  title: "松开手指,取消发送",                  icon: "none",                  duration: 60000            });            this.sendLock = true;//触发了上滑取消发送,上锁          } else {            wx.showToast({                  title: "正在录音,上划取消发送",                  icon: "none",                  duration: 60000            });            this.sendLock = false;//上划距离不足,依然可以发送,不上锁          }    },  }

到此,相信大家对“小程序如何实现长按录音,上划取消发送功能”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 小程序如何实现长按录音,上划取消发送功能

本文链接: https://lsjlt.com/news/307910.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 小程序如何实现长按录音,上划取消发送功能
    本篇内容主要讲解“小程序如何实现长按录音,上划取消发送功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小程序如何实现长按录音,上划取消发送功能”吧!1. html部分。微信小程序事件接口://...
    99+
    2023-06-26
  • 微信小程序如何实现长按拖拽排序功能
    本篇内容主要讲解“微信小程序如何实现长按拖拽排序功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序如何实现长按拖拽排序功能”吧!演示效果:wxml<view class...
    99+
    2023-06-30
  • 微信小程序如何实现录音Record功能
    这篇文章主要介绍了微信小程序如何实现录音Record功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下布局<!--pages/record/record.w...
    99+
    2023-06-14
  • 微信小程序如何实现录音与播放录音功能
    这篇文章主要为大家展示了“微信小程序如何实现录音与播放录音功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序如何实现录音与播放录音功能”这篇文章吧。小...
    99+
    2024-04-02
  • 微信小程序实现长按拖拽排序功能
    工作中遇到一个上传图片长按后拖动排序的一个功能,于是写下了一个小demo。希望能对你有遇到的问题有帮助。 演示效果: wxml <view class='outer' >...
    99+
    2024-04-02
  • 微信小程序实现录音Record功能
    本文实例为大家分享了微信小程序实现录音Record功能的具体代码,供大家参考,具体内容如下 布局 <!--pages/record/record.wxml--> &l...
    99+
    2024-04-02
  • 微信小程序如何实现录音与音频播放功能
    这篇文章将为大家详细讲解有关微信小程序如何实现录音与音频播放功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。小程序继承了微信强大的语音处理功能,提供了录音、音频播放控制和背景音乐等功能,它们的功能不同,...
    99+
    2023-06-29
  • 微信小程序实现音频录制功能
    微信小程序实现音频录制功能近年来,随着移动互联网的发展,微信小程序的普及越来越广泛。微信小程序作为一种轻量级、易于使用的应用,在帮助企业拓展市场和提升用户体验方面发挥着重要的作用。而在实现音频录制功能方面,微信小程序同样提供了简单易用的接口...
    99+
    2023-11-21
    微信小程序音频录制
  • 微信小程序|基于小程序实现发送语音消息及转文字
    此文主要在小程序内聊天的基础上实现语音发送及文字转换。 小程序 账号创建及工具准备 页面大体设计 实现录音功...
    99+
    2023-09-11
    小程序 语音识别
  • 微信小程序实现录音与音频播放功能
    目录1、录音1.1 案例2、音频播放控制2.1 案例小程序继承了微信强大的语音处理功能,提供了录音、音频播放控制和背景音乐等功能,它们的功能不同,但有相似性。 1、录音 小程序提供了...
    99+
    2024-04-02
  • uni-app实现微信小程序长按拍视频功能
    本文实例为大家分享了uni-app实现微信小程序长按拍视频功能的具体代码,供大家参考,具体内容如下 html <!-- 上传视频 -->      <view cl...
    99+
    2024-04-02
  • php如何实现小程序登录功能
    本篇内容介绍了“php如何实现小程序登录功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!RequestTask说明方法说明RequestT...
    99+
    2023-06-21
  • 微信小程序如何实现录音和播放录音的开发
    这篇文章主要介绍了微信小程序如何实现录音和播放录音的开发,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  关于微信小程序录音与播放录音的开发,小程序中提供了两种录音的API。...
    99+
    2023-06-26
  • 怎么在小程序中实现一个录音功能
    本篇文章为大家展示了怎么在小程序中实现一个录音功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。首先获取录音管理器模块:const recorderManager = ...
    99+
    2023-06-07
  • 如何实现小程序授权登录功能
    这篇文章主要介绍“如何实现小程序授权登录功能”,在日常操作中,相信很多人在如何实现小程序授权登录功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何实现小程序授权登录功能”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-07-04
  • 微信小程序中如何实现发送短信倒计时功能
    这篇文章主要介绍微信小程序中如何实现发送短信倒计时功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!点击后代码<form bindsubmit="formS...
    99+
    2024-04-02
  • 微信小程序如何实现文字长按复制与一键复制功能
    本篇内容介绍了“微信小程序如何实现文字长按复制与一键复制功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、不引入外部组件的实现方式&nb...
    99+
    2023-07-05
  • 微信小程序如何实现订阅消息功能
    这篇文章将为大家详细讲解有关微信小程序如何实现订阅消息功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。小程序模板消息即将被废弃掉,于是有了新接口wx.requestSu...
    99+
    2024-04-02
  • 微信小程序如何实现转发功能
    这篇文章将为大家详细讲解有关微信小程序如何实现转发功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序 转发功能的实现1.当用户将小程序转发到任一群聊之后,可以获...
    99+
    2024-04-02
  • 微信小程序转发功能如何实现
    这篇文章主要介绍“微信小程序转发功能如何实现”,在日常操作中,相信很多人在微信小程序转发功能如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序转发功能如何实现”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作