代码如下
<?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
题主,代码传上去啊