HTML5微信jssdk录音播放语音的方法
需要注意的2个问题
1 就是一定要判断1秒内 录音都不算 ps:太短不能录音
2 录音超过1分钟 会发现正在录音突然消失 所以要写wx.onVoiceRecordEnd 这个是是1分钟会自动出发 然后写上传数据 ps这个必须要写在wx.startRecord里面 不然不触发!!!切记

前端代码如下
<pre>
var START;
$('.luyin').on('touchstart',function () {
new Date().getTime();
wx.startRecord({
success: function(){
START = new Date().getTime();
wx.onVoiceRecordEnd({
// 录音时间超过一分钟没有停止的时候会执行 complete 回调
complete: function (res) {
alert('最多只能录制一分钟');
var localId = res.localId;
uploadluyin(localId,60000);
}
});
},
cancel: function () {
alert('用户拒绝授权录音');
return false;
}
});

})
$('.luyin').on('touchend',function () {
var END = new Date().getTime();
//录音时间
var luyintime=END - START;
if(luyintime < 2000){
END = 0;
START = 0;
wx.stopRecord({});
alert('录音时间不能少于2秒');
return false;
}else {

wx.stopRecord({
success: function (res) {
var localId = res.localId;

uploadluyin(localId,luyintime);

}
});
}
})

function uploadluyin(localId,luyintime) {
wx.uploadVoice({
localId: localId, // 需要上传的音频的本地ID,由stopRecord接口获得
isShowProgressTips: 1, // 默认为1,显示进度提示
success: function (res) {
var serverId = res.serverId; // 返回音频的服务器端ID
console.log(serverId);

$.post("/home/xishanluyin/scyuyin", {
"serverId": serverId,
"luyintime": luyintime
},
function (data) {
if (data.success == 1) {
alert('录音成功');
} else {
alert(data.msg);
}
}, "json");
}
})
}
</pre>

后端代码 核心代码如下直接写入amr就行 因为生成的默认都是amr

<pre>
$ft = copy("http://file.api.weixin.qq.com/cgi-bin/media/get?access_token={$accessToken}&media_id={$imgServerId}",
"{$imgServerId}.mp3");
//转成mp3 注意只有在真机上才可以成功转成mp3 微信web开发者工具生成的amr不能转成mp3的
shell_exec('ffmpeg -i _wb2tS6SdvJxNu762u-qSfJgrxsEDw-fjXJSIitgD9_GBTvoLpIzAyzA9d7Wil_W.amr _wb2tS6SdvJxNu762u-qSfJgrxsEDw-fjXJSIitgD9_GBTvoLpIzAyzA9d7Wil_W.mp3');

</pre>
ffmpeg 命令需要安装一些软件
具体说明请<a href="http://newmiracle.cn/?p=1072">ffmpeg源码安装教程</a>
转好的mp3拖到浏览器测试下 如果可以 就说明转mp3成功了

然后返回web路径就OK啦 这个audio就可以访问啦

HTML5微信jssdk录音播放语音的方法的更多相关文章

  1. html5 audio标签切换播放音乐的方法

    html5 audio标签切换播放音乐的方法<pre><audio id="music1" preload loop="loop">&l ...

  2. 微信JSSDK录音的一些bug

    UPDATE: 这篇博文已经过期, 新的BUG总结请看微信JSSDK与录音相关的坑 微信JSSDK有不少坑, 最近做一个webapp, 用到了其中的录音功能, 发现不少问题, 总结一下: 当你调用st ...

  3. 【原创】.Net 微信 JS-SDK图片、语音上传接口的实现(MVC)-(一 、上传图片)

    前段时间在做一个微信的项目,遇到了一个上传图片的问题,花了一下午,解决了这个问题,然后把总结出来的代码,分享了出来. 最近又有一个图片+语音的功能, 更是蛋疼, 本次采用的不是File文件上传,然后转 ...

  4. 微信jssdk常见错误及解决方法

    调用config 接口的时候传入参数 debug: true 可以开启debug模式,页面会alert出错误信息.以下为常见错误及解决方法: invalid url domain当前页面所在域名与使用 ...

  5. html5 video获取实时播放进度的方法

    getvideoprogress(); function getvideoprogress() { setTimeout(function () { var vid = document.getEle ...

  6. 从零开始实现基于微信JS-SDK的录音与语音评价功能

    最近接受了一个新的需求,希望制作一个基于微信的英语语音评价页面.即点击录音按钮,用户录音说出预设的英文,根据用户的发音给出对应的评价.以下是简单的Demo: ![](reecode/qrcode.pn ...

  7. 微信JSSDK与录音相关的坑

    欢迎各位转载, 以让微信团队重视这些恼人的BUG. 请注明出处微信JSSDK与录音相关的坑 by lzl124631x 最近一直在做微信JSSDK与录音相关的功能开发, 遇到了各种奇尺大坑, 时不时冷 ...

  8. PHP调用微信wx_JSSDK录音并播放,

    <?php require_once "jssdk.php"; $jssdk = new JSSDK("wx7a862ec806328ca2", &quo ...

  9. 微信JSSDK与录音相关的坑

    微信JSSDK与录音相关的坑 最近一直在做微信JSSDK与录音相关的功能开发, 遇到了各种奇尺大坑, 时不时冷不丁地被坑一道, 让我时常想嘶吼: "微信JSSDK就是个大腊鸡!!!!!!!! ...

随机推荐

  1. vscode+flutter+win10搭建问题记录

    1.下载安装vscode.flutter sdk.安装vscode相关插件.android sdk,这些网上有教程,比如https://blog.csdn.net/SVNzK/article/deta ...

  2. P2995 [USACO10NOV]牛的照片(树状数组,逆序对)

    题目: P2995 [USACO10NOV]牛的照片Cow Photographs P4545 [USACO10NOV]奶牛的图片Cow Photographs SP7809 COWPIC - Cow ...

  3. ES6的常见语法!!

    let : 声明变量 不存在变量提前 拥有局部作用域 (只要有{}出现 则只在该{}范围内生效) (而var只在函数内会产生作用域范围) 不能重复声明 const : 声明常量(常量名从规范上来将 最 ...

  4. https网站部署成功 CA证书申请 IIS配置

    https://www.cnblogs.com/lichunting/p/9274422.html#4276645 参考文档解决方案

  5. (原)在anaconda3+ubuntu16.04中编译Pose flow中的deepmatching动态库

    转载请注明出处: https://www.cnblogs.com/darkknightzh/p/11285239.html 参考网址: https://github.com/YuliangXiu/Po ...

  6. Ubuntu18.04启动后一个光标在左上角闪动

    1.在实验室服务器上安装Ubuntu18.04后,启动后能够进入grub,但选择Ubuntu后出现只有左上角一个光标在闪但是进不去系统的现象. 2.重新启动选择进入recovery mode,出现如下 ...

  7. Django框架(十)--常用字段、参数、元信息、多对多关联关系

    一.ORM字段 # AutoField() int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列 # IntegerField() ...

  8. Linux服务管理之SSH

    Linux服务SSH ssh服务: 管理服务器的方式:                      本地管理类   (安装系统,故障修复)           SHH远程连接方式            ...

  9. vue - 基础(3)

    1.数据的双向绑定 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  10. 201871010105-曹玉中《面向对象程序设计(Java)》第二周学习总结

    201871010105-曹玉中<面向对象程序设计(Java)>第二周学习总结             项目                                         ...