vue 使用weixin-sdk 录音功能

本文介绍了一位新手开发者在Vue项目中如何使用Weixin-SDK实现录音功能。作者强调Weixin-SDK只能在线上环境并在微信内使用,并提供了官方文档链接和简单的实现步骤,包括SDK安装、导入、录音、停止、上传等操作,以及如何将录音文件保存到后端并转换为MP3。最后,作者鼓励读者留言讨论可能遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚毕业,进入公司,遇到的第一个vue项目,使用weixin-sdk-js 做录音功能,于是开始了研究之旅,经过的许久的研究,终于是禅悟出了一点皮毛
多次试验,失败,总结:weixin-js-sdk 是要在线上使用的,而且只能在微信上使用 多说不易,上干货

献上官方使用说明文档地址

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

干货现在开始

第一步肯定是先安装这个sdk了

npm install weixin-js-sdk

在使用的文件里面引入

import wx from 'weixin-js-sdk'

我随便写了一个小dome 代码献上
功能为 录音 停止 上传…
为了将录音永久保存,将录音也传到后端,后端转成MP3文件 返回地址
又加了一个将所有录音合成一段长音频返回

<template>
  <div class="hello">
    <button  class="record" @click="start">开始录音</button>
    <button @click="stop">停止录音</button>
    <button @click="cancel">取消录音</button>
    <!-- <button @click="play">播放录音</button>
    <button @click="pausePlay">暂停播放</button>
    <button @click="stopPlay">停止播放</button> -->
    <!-- <button @click="upVoice">上传语音</button>
    <button @click="downVoice">下载录音</button> -->
    <!-- <button @click="fake">假的</button> -->
    <!-- <button @click="setTime">开始计时</button>
    <button @click="creamTime">停止计时</button> -->
    <br>
    <p>录音时间{
   
   {
   
   time}}</p>

    <div class="list">
        刚录完的语言
        <audio ref=
Vue3 + TypeScript项目中使用weixin-js-sdk,你需要执行以下步骤: 1. 安装weixin-js-sdk ``` npm install weixin-js-sdk ``` 2. 在组件中引入weixin-js-sdk ``` import wx from 'weixin-js-sdk'; ``` 3. 在组件mounted钩子函数中初始化JS-SDK ``` mounted() { this.initJSSDK(); } ``` 4. 编写初始化JS-SDK的方法 ``` async initJSSDK() { const res = await this.$http.get('/api/signature'); wx.config({ debug: false, appId: res.data.appId, timestamp: res.data.timestamp, nonceStr: res.data.nonceStr, signature: res.data.signature, jsApiList: ['chooseImage', 'uploadImage'] }); } ``` 上面的代码中,我们从后端获取了一个签名,然后使用wx.config方法进行JS-SDK的初始化。其中,debug表示是否开启调试模式,appId、timestamp、nonceStr、signature是签名相关的参数,jsApiList是需要使用微信JS接口列表。 5. 在需要使用微信JS接口的地方调用相应的方法 ``` async chooseImage() { const res = await this.$http.get('/api/upload'); wx.chooseImage({ count: 1, sizeType: ['original', 'compressed'], sourceType: ['album', 'camera'], success (res) { const localIds = res.localIds; // 上传到服务器 wx.uploadImage({ localId: localIds[0], isShowProgressTips: 1, success: function (res) { const serverId = res.serverId; // 返回图片的服务器端ID // 将serverId发送到服务器进行保存等操作 } }); } }); } ``` 上面的代码中,我们在chooseImage的成功回调函数中,获取到了选择的图片的本地ID,然后使用wx.uploadImage方法将图片上传到服务器。在上传成功的回调函数中,我们可以获取到图片的serverId,然后将serverId发送到服务器进行保存等操作。 以上就是在Vue3 + TypeScript项目中使用weixin-js-sdk的步骤。需要注意的是,我们需要从后端获取签名等参数才能进行JS-SDK的初始化,因此需要与后端进行配合。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值