公司名称 | 新潮科技 | |
MP帐号(邮箱) | joephon@qq.com | |
开发者微信号 | p409108107 | |
机型(如iPhone 6s plus) | 华为G9青春版 移动版本 (HUAWEI VNS-DL00) | |
操作系统(如iOS 9.3) | Android 6.0 | |
是否必现 | 是 | |
出现时间 | 任何时间 | |
操作路径(即如何操作可以复现该问题) | ||
wx.playVoice 中的 filePath 属性设置为 服务器的 录音文件资源(silk),该资源通过 小程序上传至服务器。 | ||
问题描述(具体问题介绍) | ||
该小程序的目的是想实现:用户能上传自己录制的语音,并且能听到别人上传的语音。 使用 wx.startRecord 录音,获得录音文件的临时路径,此时调用 wx.playVoice 能正常播放刚刚录制的语音。 而通过wx.uploadFile将其语音文件上传到服务器后,再想通过wx.playVoice则 一直失败。 | ||
问题截图(客户端问题界面截图) | ||
代码片段截图 | ||
这个问题标记为已解决,是如何解决的呢?本地的silk录音文件是可以播放的,但是如果是在服务器端的silk录音文件,没法播放。即使下载下来,也只有哔一声而已,并没有正常播放。看了下载的文件,后缀名是unknown的。
我也遇到同样的问题,微信号dreamflywang 求加。
少华,我在录音后,本地播放也可以啊,可是把语音文件上传到服务器后,就不行了。
@林超
我试了用wx.downloadFile下载,然后播放临时路径。
会播放成功,但是没有录制的声音,只有 语音文件 播放完的 那种 “der” 的一声。而且时间也不对,都是很短的一声就没了。
控制台中显示的那个path,如果在浏览器打开会直接下载文件。
wx.downloadFile({
url: path,
success:
function
(res){
console.log(
'downloadFile success'
)
wx.playVoice({
filePath: res.tempFilePath,
success:
function
(res){
console.log(
'paly voice success'
)
},
fail:
function
() {
console.log(
'paly voice fail'
)
},
complete:
function
() {
console.log(
'paly voice complete'
)
}
})
},
fail:
function
() {
console.log(
'downloadFile fail'
)
}
})
是可以的,我已经做好发布的到github了,https://github.com/dingshaohua123/WechatApp.git
现在就开发了 我到目前没看到一个小程序