云娜

今天分享一下我第一次接触微信开发,微信JS-SDK录音功能开发的经历.

在开发微信JS-SDK录音功之前我是没有接触过微信开发的,第一反应就是去百度.建议第一次接触微信开发的同学去微信JSSDK说明文档 - 微信公众平台开发者文档上看看,重点是要仔细看微信网页开发这一栏,先在头脑里有个基本了解.别忘了下载微信web开发者工具,使用方法和介绍也仔细看看.

有了以上的了解后就可以动手开发了,我这里主要讲微信JS-SDK录音功能开发.需要实现 : 开始录音,停止录音,试听录音,删除录音重新录制,确认上传语音到微信服务器(语音只能在微信服务器上保留三天,我还要实现与后台配合,从微信服务器上把语音保存到自己的服务器上).

下面我就直接贴代码了,只要你有仔细看上面的文档和Demo,这些代码对你来说都不是问题.

音频接口

开始

删除

确认

//文档加载完后立即执行

window.οnlοad=function(){

wx.config({

debug: true,//开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。

appId: '',// 必填,公众号的唯一标识

timestamp: '',// 必填,生成签名的时间戳

nonceStr: '',// 必填,生成签名的随机串

signature: '',// 必填,签名

jsApiList: ['startRecord','stopRecord','playVoice','uploadVoice']// 必填,需要使用的JS接口列表

});

wx.ready(function () {

var voice = {

localId: '',

serverId: ''

};

var startRecord = document.querySelector('#startRecord');

var stopClearTimeout;

startRecord.onclick = function () {

//开始录音

if(startRecord.innerHTML == '开始'){

wx.startRecord({

success: function(){

startRecord.innerHTML = '停止';

//30秒后自动停止;

stopClearTimeout = setTimeout(function(){

wx.stopRecord({

success: function (res) {

voice.localId = res.localId;

startRecord.innerHTML = '试听';

}

});

},30000);

},

});

}

//结束录音

if(startRecord.innerHTML =='停止'){

wx.stopRecord({

success: function (res) {

clearTimeout(stopClearTimeout);

startRecord.innerHTML = '试听';

voice.localId = res.localId;

},

fail: function (res) {

alert(JSON.stringify(res));

}

});

}

//试听音频

if(startRecord.innerHTML =='试听'){

if (voice.localId == '') {

alert('请先录制一段声音');

return;

}

wx.playVoice({

localId: voice.localId

});

}

};

//删除语音,重新录音;

document.querySelector('#deleteVoice').onclick = function(){

voice.localId = '';

startRecord.innerHTML = '开始';

}

//确认上传语音

document.querySelector('#uploadVoice').onclick = function () {

if (voice.localId == '') {

alert('请先录制一段声音');

return;

}

wx.uploadVoice({

localId: voice.localId,

success: function (res) {

voice.serverId = res.serverId;

//把微信服务器上的serverId传给后台,后台再通过serverId到微信服务器上把语音保存到自己服务器上

$.ajax({

url: '',//后台接收数据地址

dataType: "json",

type: 'get',

data: {'id': voice.serverId},

success: function (msg) {

alert('上传成功!');

},

});

}

});

};

});

}

网上还有个非常不错的例子可以提供大家参考微信jssdk录音功能开发记录.

写好后就可以交给后台上传服务器,再用微信web开发者工具进行调试.

最后开发完成如图:

微信语音接口

php开发微信jssdk录音功能,微信 JS-SDK 录音功能开发相关推荐

  1. 微信JS-SDK签名接口的使用与开发

    最近诸事缠身好久没有写文章了.前不久将与微信公众号有关的一些知识点进行了梳理,微信公众号开发过程中,用最多的就是微信js-sdk了.但是使用微信js-sdk需要获取签名.时间戳.随机字符串,等等一系列 ...

  2. 个人号微信淘宝客机器人SDK定制开发教程

    个人号微信淘宝客机器人SDK定制开发教程,来自秋天不穿秋裤,天冷也要风度的程序猿之手,必属精品! 今天给大家介绍微信个人号自动回复机器人的开发教程!使用微信机器人托管微信,可以避免不及时回复错过的消息 ...

  3. vue项目中,使用微信js-sdk打开微信内置导航,唤醒第三方导航,

    vue项目中,使用微信js-sdk打开微信内置导航,唤醒第三方导航 一.准备工作 二.开发须知 三.开始安装sdk 四.通过微信的config接口注入权限验证配置 附上代码 最近在搞vue项目需要在手 ...

  4. 使用微信JSSDK自定义微信分享标题、描述、和图标

    最近做一个项目的时候用到微信的分享 ,实现定义分享标题,图片,了解到微信在发布JSSDK后,把包括自定义分享在内的众多网页服务接口进行了统一.如果要想自定义分享自己的网页信息给好友或朋友圈,就最好使用 ...

  5. 微信JS-SDK调用微信接口方法说明

    微信公众平台 微信JS-SDK说明文档 地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115 概述 微信JS ...

  6. html页面调用微信扫一扫功能,微信JSSDK调用微信扫一扫功能的方法

    如何利用微信jssdk调用微信扫一扫功能?具体内容如下 1. 确保有 调起微信扫一扫接口 权限,测试号可能不行: 2. 导入相关js 3. 页面触发扫码元素 4. 相关js代码 var _appid ...

  7. php调用微信扫一扫功能,微信JSSDK调用微信扫一扫功能的方法

    如何利用微信JSSDK调用微信扫一扫功能?具体内容如下 1. 确保有 调起微信扫一扫接口 权限,测试号可能不行: 2. 导入相关JS 3. 页面触发扫码元素 4. 相关JS代码 var _appId ...

  8. .NET微信网页开发之使用微信JS-SDK调用微信扫一扫功能

    前言: 之前有个项目需要调用微信扫描二维码的功能,通过调用微信扫码二维码功能,然后去获取到系统中生成的二维码信息.正好微信JS-SDK提供了调用微信扫一扫的功能接口,下面让我们来看看是如何实现的吧. ...

  9. VUE项目引入微信JSSDK 实现微信自定义分享

    VUE项目引入微信JSSDK 实现自定义分享 前端vue.后端php 问题:后端获取config参数所需的url 需要和请求自定义分享页面url一致 一.微信公众号后台添加 js安全域名(白名单) 二 ...

  10. php qq jssdk,QQ登录JS SDK教程,调用openapi接口

    QQ登录将用户信息存储在cookie中,命名为__qc__k ,请不要占用 __qc__k : 1) :: 在页面顶部引入JS SDK库: 将"js?"后面的appid参数(示例代 ...

最新文章

  1. module ‘torchtext.data‘ has no attribute ‘LabelField‘
  2. 数据结构与算法笔记(九)—— 希尔排序
  3. [ATF]-ATF的代码学习篇-一篇就够了
  4. Linux中的高级文本处理命令,cut命令,sed命令,awk命令
  5. java sheet 打印区域设定,如何使用Java设置电子表格的打印区域。(How to set the print area of a spreadsheet using Java.)...
  6. Tensorflow No module named ‘tensorflow.examples.tutorials‘解决办法,有用
  7. 我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比
  8. (附源码)计算机毕业设计Java远程健康数据管理系统
  9. 斗地主牌型判断实现(一)
  10. 固态硬盘用软件测试掉速严重,固态硬盘掉速别慌张,教你如何快速进行调节!...
  11. Metasploit攻击winserver2008实例
  12. 计算机共享后无法访问什么原因,共享文件在对方电脑无法访问是怎么回事?
  13. 金山词霸2009牛津版(Sp1破解补丁)
  14. 计算机组成原理 — PCI-E 外设接口标准
  15. 动态规划实现生物碱基序列全局匹配
  16. 5月31日武汉国金天地亮灯仪式鎏光绽放!
  17. Vue粒子特效使用教程(vue-particles插件)
  18. 星罗棋布:关于VPS测试脚本集锦内容
  19. java把汉字转换成拼音_Java实现汉字转换为拼音
  20. Ubuntu 更换清华大学镜像源

热门文章

  1. 如何使用PS的蒙版,调整局部的对比度
  2. 测试语文水平的软件,语文试卷质量分析
  3. foxit 福昕阅读器 点击书签跳转时,保持 页面 缩放比例
  4. unity3d 工程原理_Unity3D——镜面反射原理及实现(一)
  5. MIPI通讯的初理解
  6. oracle 10 卸载工具,完全卸载oracle10个(转)
  7. 让自己更优秀的 16 条法则(建议收藏)
  8. 最适合发朋友圈的句子
  9. matlab 图片中花体字母,banal(26字母花体英文可复制)
  10. Django 搜索结果分页的实现 以及点击下一页搜索条件丢失可能的原因分析