http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE
你的media_id是从这个地址获取来的么?
public override IResponseMessageBase OnVoiceRequest(RequestMessageVoice requestMessage)
通过requestMessage.MediaId 获取的
@不会代码的人:
wx.downloadVoice({
serverId: '', // 需要下载的音频的服务器端ID,由uploadVoice接口获得
isShowProgressTips: 1, // 默认为1,显示进度提示
success: function (res) {
var localId = res.localId; // 返回音频的本地ID
}
});
你是用这个接口进行语音下载么?
如果是,那上面的 serverId 要通过微信JS-SDK中的 wx.uploadVoice 获得。
在 wx.uploadVoice 中获得到 serverId(就是要下载用的media_id) 之后再用调用 http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID 就可以下载媒体了
我是这么理解的你说的,如果不是那就当我飘过吧!(不好意思,前面给的地址给错了,那是上传媒体用的)
@melist_one: 是否我requestMessage.MediaId 获取的mediaId 和 微信JS-SDK中的 wx.uploadVoice 获得的serverId 不是同一个ID。
也就是说我不能直接用mediaId当作wx.downloadVoice的serverId参数?而必须使用wx.uploadVoice 获得的serverId?
@不会代码的人:
第一问题我就不清楚了。
你上传的是哪个,就应该用 wx.uploadVoice 上传后返回的 serverId 去下载
@melist_one: 主要就是第一个问题,上传成功后去下载是没问题的。可以播放
@不会代码的人: 好吧。那我不知道了。不过你可以两个打印出来对比下嘛!
通过一个中间方法实现这个功能