代码如下
<?php require_once "jssdk.php"; $jssdk = new JSSDK("本人的AppID", "本人的AppSecret"); $signPackage = $jssdk->GetSignPackage(); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <button id="startRecord">startRecord</button> <button id="stopRecord">stopRecord</button> <button id="playVoice">playVoice</button> </body> <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <script> wx.config({ debug: true, appId: "<?php echo $signPackage["appId"];?>", timestamp: <?php echo $signPackage["timestamp"];?>, nonceStr: "<?php echo $signPackage["nonceStr"];?>", signature: "<?php echo $signPackage["signature"];?>", jsApiList: [ "checkJsApi", "onMenuShareTimeline", "onMenuShareAppMessage", "onMenuShareQQ", "onMenuShareWeibo", "hideMenuItems", "showMenuItems", "hideAllNonBaseMenuItem", "showAllNonBaseMenuItem", "translateVoice", "startRecord", "stopRecord", "onRecordEnd", "playVoice", "pauseVoice", "stopVoice", "uploadVoice", "downloadVoice", "chooseImage", "previewImage", "uploadImage", "downloadImage", "getNetworkType", "openLocation", "getLocation", "hideOptionMenu", "showOptionMenu", "closeWindow", "scanQRCode", "chooseWXPay", "openProductSpecificView", "addCard", "chooseCard", "openCard" ] }); wx.ready(function () { document.querySelector("#startRecord").onclick = function () { wx.startRecord({ cancel: function () { alert("用户拒绝授权录音"); } }); }; // 4.3 停止录音 document.querySelector("#stopRecord").onclick = function () { wx.stopRecord({ success: function (res) { voice.localId = res.localId; }, fail: function (res) { alert(JSON.stringify(res)); } }); }; // 4.4 监听录音自动停止 wx.onVoiceRecordEnd({ complete: function (res) { voice.localId = res.localId; alert("录音时间已超过一分钟"); } }); // 4.5 播放音频 document.querySelector("#playVoice").onclick = function () { if (voice.localId == "") { alert("请先使用 startRecord 接口录制一段声音"); return; } wx.playVoice({ localId:voice.localId }); }; }); </script> </html>
都是复制官方的代码的,录音和停止录音都正常使用,用debug模式录音和停止录音都返回了OK。但是播放录音就是不行。这到底是怎么回事啊。
解决方案
5
本人也有同样的问题,求高手解决
5
终于解决了,少定义了一个变量
加在前面就好了
var voice = {
localId: “”,
serverId: “”
};
加在前面就好了
var voice = {
localId: “”,
serverId: “”
};
5
你这个是录音效果实现了是么?
5
题主,代码传上去啊