iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >JS怎么实现一个微信录音功能
  • 173
分享到

JS怎么实现一个微信录音功能

2023-07-05 04:07:57 173人浏览 安东尼
摘要

今天小编给大家分享一下js怎么实现一个微信录音功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。拆解需求根据原型图可以很容易

今天小编给大家分享一下js怎么实现一个微信录音功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

拆解需求

根据原型图可以很容易的得出我们需要做的内容包括下面三个部分:

  • 接入微信的语音SDK

  • 调用微信SDK的api逻辑

  • 界面和交互的实现

其中第一点和第二点属于业务逻辑部分,第三点属于交互逻辑部分。对于业务逻辑和交互逻辑的关系在我的另外一篇文章描述过,我在Vue中是这样拆分组件的

从原型图可以分析出如下的流程图:

评估时间

第三事情是评估时间。在接到这个需求的时候,我们需要假设我们在此之前没有接入过微信相关的SDK,并以此为前提进行工期的评估。

可以将该用户故事拆分为如下任务:

  • 微信语音SDK的技术调研(0.5天)

  • 输出开发设计文档(0.5天)

  • 接入微信语音SDK(0.5天)

  • 编码(1天)

  • 自测(0.5天)

随后将上面的时间都乘以2! 自此才可以将估算的工期上报给产品。多年的经验告诉自己,自己一开始估算的工期从来没够过。自行估算的时候,幻想的是在工作的时候能够一直保持专注。

就我自己而言,做不到,上班不可能不摸鱼!也是必须要摸鱼的。乘以2才是刚够而已。

代码实现

都说在实现代码之前要先设计,谋定而后动。我是这样做的,先想好文件夹创建,然后到文件的创建,再到具体文件中写出大体的框架

需求并不复杂,只是一个界面中的一个模块。所以我只需要一个Record.vue来承载界面,一个use-record-layout.js来承载业务逻辑,以及一个use-record-interact.js来承接交互逻辑。

|__im-record    |__Record.vue    |__use-record-layout.js    |__use-record-interact.js

为了便于说明,将这个聊天的界面简化如下:

<script setup>import { useNamespace } from "@/use-namespace";const ns = useNamespace('chat')</script><template>  <header :class="ns.b('header')"></header>  <main :class="ns.b('main')">    <section :class="[ns.b('record'), ns.w('record', 'toast')]">      <div :class="ns.w('record', 'speak')"></div>      <div :class="ns.w('record', 'pause')"></div>    </section>  </main>  <footer :class="ns.w('button', 'wrap')">    <button :class="ns.b('button')">      <span>        按住 说话      </span>    </button>  </footer></template>

通过上面的代码片段可知,我们的主要的界面在section标签的record部分。

use-record-layout.js的主题代码如下:

  const recordStyle = {    default: { }, // 默认样式/确定发送录音    recording: { }, // 录音中    pause: { }, // 暂停录音    cancel: { } // 取消录音  }  const init = () => {    initEvent()    initStyle()  }  const initStyle = () => {    recordStyle.default.is = true  }  const initEvent = () => {    el.addEventListener('touchstart', handleTouchstart)    el.addEventListener('touchmove', handleTouchmove)    el.addEventListener('touchend', handleTouchend)  }  const axis = {    posStart: 0, // 初始化起点坐标    posMove: 0 // 初始化滑动坐标  }  const handleTouchstart = (event) => {    event.preventDefault()    axis.posStart = event.touches[0].pageY    recordStyle.recording.is = true  }  const handleTouchmove = (event) => {    event.preventDefault()    axis.posMove = event.targetTouches[0].pageY    const diffMove = axis.posMove - axis.posStart    if (diffMove > DEFAULT_AXIS) {      recordStyle.recording.is = true    }  }  const handleTouchend = (event) => {    event.preventDefault()    recordStyle.default.is = true  }  init()

其中recordStyle是交互的结果,在这个需求当中,我们的界面的四种变化都对应其中一个的样式。

use-record-interact.js也很简单,注册微信录音功能 ➡️

const wx = 'wx'const useRecordInteract = () => {  const isAuth = localStorage.getItem('allowWxRecord')  // 获取录音权限  const authRecord = () => {    if (!isAuth) {      wx.startRecord()      return    }    return isAuth  }  // 停止录音  const stopRecord = () => {}  // 上传录音  const uploadRecord = () => {}}

交互逻辑和业务逻辑的联动通过recordStyle对象的存取属性来实现,代码片段如下:

const interact = useRecordInteract()const recordStyle = {    default: {      _is: false,      get is() {        return this._is      },      set is(value) {        this._is = value        if (value) {          this.recording.is = false          this.pause.is = false          this.cancel.is = false          interact.uploadRecord()        }      }    },    //...}

实现了业务逻辑和交互逻辑的分离。

以上就是“JS怎么实现一个微信录音功能”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: JS怎么实现一个微信录音功能

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JS怎么实现一个微信录音功能
    今天小编给大家分享一下JS怎么实现一个微信录音功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。拆解需求根据原型图可以很容易...
    99+
    2023-07-05
  • JS实现一个微信录音功能过程示例详解
    目录功能原型图拆解需求评估时间代码实现功能原型图 其实就是微信发送语音的功能。没有转文字的功能。 拆解需求 根据原型图可以很容易的得出我们需要做的内容包括下面三个部分: 接入微信...
    99+
    2023-02-21
    JS微信录音功能 JS 微信录音
  • 使用Html5怎么实现一个微信语音功能
    使用Html5怎么实现一个微信语音功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。为什么要学会HTML5 的语音呢?Html5 规范推进,手机的更新加速了操作...
    99+
    2023-06-09
  • 怎么在android中实现一个微信联合登录功能
    怎么在android中实现一个微信联合登录功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1):登录微信开放平台,完成账号申请:https://open.weixin.qq....
    99+
    2023-05-30
    android
  • 微信小程序实现录音Record功能
    本文实例为大家分享了微信小程序实现录音Record功能的具体代码,供大家参考,具体内容如下 布局 <!--pages/record/record.wxml--> &l...
    99+
    2022-11-12
  • 微信小程序实现音频录制功能
    微信小程序实现音频录制功能近年来,随着移动互联网的发展,微信小程序的普及越来越广泛。微信小程序作为一种轻量级、易于使用的应用,在帮助企业拓展市场和提升用户体验方面发挥着重要的作用。而在实现音频录制功能方面,微信小程序同样提供了简单易用的接口...
    99+
    2023-11-21
    微信小程序音频录制
  • 微信小程序如何实现录音与播放录音功能
    这篇文章主要为大家展示了“微信小程序如何实现录音与播放录音功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序如何实现录音与播放录音功能”这篇文章吧。小...
    99+
    2022-10-19
  • 基于JS如何开发微信网页录音功能
    这篇文章主要介绍了基于JS如何开发微信网页录音功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体代码如下所示:wx.ready(func...
    99+
    2022-10-19
  • 怎么在html5项目中实现一个录音功能
    这篇文章给大家介绍怎么在html5项目中实现一个录音功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。步骤1由于新的api是通过navigator.mediaDevices.getUserMedia,且返回一个prom...
    99+
    2023-06-09
  • 怎么在小程序中实现一个录音功能
    本篇文章为大家展示了怎么在小程序中实现一个录音功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。首先获取录音管理器模块:const recorderManager = ...
    99+
    2023-06-07
  • 微信小程序实现录音与音频播放功能
    目录1、录音1.1 案例2、音频播放控制2.1 案例小程序继承了微信强大的语音处理功能,提供了录音、音频播放控制和背景音乐等功能,它们的功能不同,但有相似性。 1、录音 小程序提供了...
    99+
    2022-11-13
  • Android怎么实现微信登录功能
    这篇文章主要讲解了“Android怎么实现微信登录功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android怎么实现微信登录功能”吧!目录一、布局界面二、MainActivity.ja...
    99+
    2023-06-20
  • 微信小程序如何实现录音Record功能
    这篇文章主要介绍了微信小程序如何实现录音Record功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下布局<!--pages/record/record.w...
    99+
    2023-06-14
  • 利用golang怎么实现一个微信支付功能
    本文章向大家介绍利用golang怎么实现一个微信支付功能的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。golang的优点有哪些golang是一种编译语言,可以将代码编译为机器代码,编译后的二进制文件可以直接部署...
    99+
    2023-06-06
  • Flutter中怎么实现一个微信朋友圈功能
    这篇文章给大家介绍Flutter中怎么实现一个微信朋友圈功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。import 'package:dio/dio.dart';import &...
    99+
    2023-06-20
  • Android应用中怎么实现一个通话录音功能
    这期内容当中小编将会给大家带来有关Android应用中怎么实现一个通话录音功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。服务代码:package com.eboy.phoneListener;impo...
    99+
    2023-05-31
    android roi
  • 微信小程序如何实现录音与音频播放功能
    这篇文章将为大家详细讲解有关微信小程序如何实现录音与音频播放功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。小程序继承了微信强大的语音处理功能,提供了录音、音频播放控制和背景音乐等功能,它们的功能不同,...
    99+
    2023-06-29
  • 微信小程序怎么实现录音
    今天小编给大家分享一下微信小程序怎么实现录音的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。为录音录音中wxml:<!-...
    99+
    2023-07-02
  • 怎么在微信小程序中实现一个导航功能
    本篇文章给大家分享的是有关怎么在微信小程序中实现一个导航功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。操作步骤申请腾讯地图key——地址小程序后台添加腾讯插件——开发文档小...
    99+
    2023-06-08
  • 微信小程序中怎么实现一个计算器功能
    微信小程序中怎么实现一个计算器功能,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。目录结构第一次进到页面它的目录结构如下:需要注意的问题(1)添加的新页面文件,都...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作