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. 在VB编程中,若一行代码太长需要换行时,行尾要加什么符号

    & _ 注意,&与_之间一定要有一个空格 例如: aa="select " & _     "  a,b,c" & _      ...

  2. 2 java并行基础

    我们认真研究如何才能构建一个正确.健壮并且高效的并行系统. 进程与线程 进程(Process):是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础 ...

  3. JSON,全称:JavaScript Object Notation,作为一个常见的轻量级的数据交换格

    JSON,全称:JavaScript Object Notation,作为一个常见的轻量级的数据交换格式,应该在一个程序员的开发生涯中是常接触的.简洁和清晰的层次结构使得 JSON 成为理想的数据交换 ...

  4. python机器学习简介

    目录 一:学习机器学习原因和能够解决的问题 二:为什么选择python作为机器学习的语言 三:机器学习常用库简介 四:机器学习流程   机器学习是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析 ...

  5. A - A Compatible Pair-biaobiao88

    A - A Compatible Pair Nian is a monster which lives deep in the oceans. Once a year, it shows up on ...

  6. css实现保持div的等宽高比

    这篇文章主要为回答这个问题:“做响应式网页,如何让一个div的高和宽保持比例放大或是缩小?”,这里不介绍媒体查询的实现. 那么css如何实现高度height随宽度width变化保持比例不变呢?即给定可 ...

  7. PHP实现sha1加密AES算法加密解密数据

    一.加密代码如下: /** * * @param string $string 需要加密的字符串 * @param string $key 密钥 * @return string */ public ...

  8. 配置DirectX SDK开发环境

    创建工程 选择空工程 添加源文件 添加DirectX SDK测试程序 属性配置 添加头文件和库文件路径 D:\Microsoft DirectX SDK (February 2010)\Include ...

  9. Linux shell之重定向输入,输出

    shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕返回给用户.这种对话方式可以是交互的方式(从键盘输入命令 ...

  10. 【转载】QQ炫舞手游自制谱子教程(星动模式)

    第一步:计算ET和BPM: 抄送原作者部落链接:https://buluo.qq.com/p/detail.html?bid=368006&pid=981862-1529828677& ...