HTML5微信jssdk录音播放语音的方法
<p>HTML5微信jssdk录音播放语音的方法<br>需要注意的2个问题<br>1 就是一定要判断1秒内 录音都不算 ps:太短不能录音 <br>2 录音超过1分钟 会发现正在录音突然消失 所以要写wx.onVoiceRecordEnd 这个是是1分钟会自动出发 然后写上传数据ps这个必须要写在wx.startRecord里面 不然不触发!!!切记</p><p>前端代码如下<br><pre><br>var START;<br> $('.luyin').on('touchstart',function () {<br>new Date().getTime();<br> wx.startRecord({<br> success: function(){<br> START = new Date().getTime();<br> wx.onVoiceRecordEnd({<br> // 录音时间超过一分钟没有停止的时候会执行 complete 回调<br> complete: function (res) {<br> alert('最多只能录制一分钟');<br> var localId = res.localId;<br> uploadluyin(localId,60000);<br> }<br> });<br> },<br> cancel: function () {<br> alert('用户拒绝授权录音');<br> return false;<br> }<br> });</p>
<p> })<br> $('.luyin').on('touchend',function () {<br> var END = new Date().getTime();<br> //录音时间<br> var luyintime=END - START;<br> if(luyintime < 2000){<br> END = 0;<br> START = 0;<br> wx.stopRecord({});<br> alert('录音时间不能少于2秒');<br> return false;<br> }else {</p>
<p><br> wx.stopRecord({<br> success: function (res) {<br> var localId = res.localId;</p>
<p> uploadluyin(localId,luyintime);</p>
<p> }<br> });<br> }<br> })<br> <br> function uploadluyin(localId,luyintime) {<br> wx.uploadVoice({<br> localId: localId, // 需要上传的音频的本地ID,由stopRecord接口获得<br> isShowProgressTips: 1, // 默认为1,显示进度提示<br> success: function (res) {<br> var serverId = res.serverId; // 返回音频的服务器端ID<br> console.log(serverId);</p>
<p> $.post("/home/xishanluyin/scyuyin", {<br> "serverId": serverId,<br> "luyintime": luyintime<br> },<br> function (data) {<br> if (data.success == 1) {<br> alert('录音成功');<br> } else {<br> alert(data.msg);<br> }<br> }, "json");<br> }<br> })<br> }<br></pre></p>
<p>后端代码 核心代码如下直接写入amr就行 因为生成的默认都是amr</p>
<p><br> <pre><br>$ft = copy("http://file.api.weixin.qq.com/cgi-bin/media/get?access_token={$accessToken}&media_id={$imgServerId}",<br> "{$imgServerId}.mp3");<br> //转成mp3 注意只有在真机上才可以成功转成mp3 微信web开发者工具生成的amr不能转成mp3的<br> shell_exec('ffmpeg -i _wb2tS6SdvJxNu762u-qSfJgrxsEDw-fjXJSIitgD9_GBTvoLpIzAyzA9d7Wil_W.amr _wb2tS6SdvJxNu762u-qSfJgrxsEDw-fjXJSIitgD9_GBTvoLpIzAyzA9d7Wil_W.mp3');</p>
<p></pre><br>ffmpeg 命令需要安装一些软件<br>具体说明请<a href="http://newmiracle.cn/?p=1072">ffmpeg源码安装教程</a><br>转好的mp3拖到浏览器测试下 如果可以 就说明转mp3成功了 </p>
<p>然后返回web路径就OK啦这个audio就可以访问啦</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<div id="MySignature" role="contentinfo">
<div id="AllanboltSignature">
<p id="PSignature" style="border-top: #e0e0e0 1px dashed; border-right: #e0e0e0 1px dashed; border-bottom: #e0e0e0 1px dashed; border-left: #e0e0e0 1px dashed; padding-top: 10px; padding-right: 20px; padding-bottom: 30px; padding-left: 140px; background: url("https://images.cnblogs.com/cnblogs_com/newmiracle/1588319/t_191112022504qrcode_for_gh_3b9ed2775d3c_258%20(1).jpg?t=1573527191829") #e5f1f4 no-repeat 3% 45%; font-family: 微软雅黑; font-size: 12px">
<br>
如果遇到什么不懂的地方直接关注公众号留言(本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。)
<br>
作者:newmiracle
<br>
出处:https://www.cnblogs.com/newmiracle/
<br>
</p>
</div><br><br>
来源:https://www.cnblogs.com/newmiracle/p/11872579.html
頁:
[1]