HTML5微信jssdk錄音播放語音的方法 需要注意的2個問題 1 就是一定要判斷1秒內 錄音都不算 ps:太短不能錄音 2 錄音超過1分鐘 會發現正在錄音突然消失 所以要寫wx.onVoiceRecordEnd 這個是是1分鐘會自動出發 然後寫上傳資料。
前端代码如下
$('.luyin').on('touchstart',function () { 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 () { END = new Date().getTime(); //录音时间 luyintime=END - START; if(luyintime < 2000){ END = 0; START = 0; wx.stopRecord({}); alert('录音时间不能少于2秒'); return false; //小于300ms,不录音 }else { wx.stopRecord({ success: function (res) { 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"); } }) }
後端程式碼核心程式碼如下直接寫入mp3就行
$ft = copy("http://file.api.weixin.qq.com/cgi-bin/media/get?access_token={$accessToken}&media_id={$imgServerId}", APP_PATH . "/../Public/{$project}/upload/{$imgServerId}.mp3");
然後用暴風影音播放
相關推薦:
前端微信分享jssdk config :invalid signature 簽章錯誤的解決方法
#以上是HTML5實作微信jssdk錄音播放語音的實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!