如题所示的问题,用的基础库是2.9.4的,真机和开发环境皆是同样问题,
最后确定问题是上传的音频文件有损,调试看了临时文件的大小,发现和上传的文件大小有出入
基础调试代码如下:
recorderManager.start(options)
recorderManager.onStop((rmres)=>{
var tmpRecordFilePath = rmres.tempFilePath
console.log('file:' + tmpRecordFilePath)
console.log(rmres)
var path = 'voices/' + util.genUUID() +'.mp3'
const uploadTask = wx.cloud.uploadFile({
// 指定上传到的云路径
cloudPath: path,
// 指定要上传的文件的小程序临时文件路径
filePath: tmpRecordFilePath,
// 成功回调
success: res => {
console.log('上传成功', res)
var playsrc = res.fileID
//var playsrc = "cloud://ddwlkj-test-vp797.6464-ddwlkj-test-vp797-1300825891/voices/aa.mp3"
var iac = wx.createInnerAudioContext()
iac.autoplay = true
iac.src = playsrc
iac.onError((iacres) => {
console.log(iacres)
})
iac.play()
},
fail: res => {
console.log('fail to upload', res)
}
})
uploadTask.onProgressUpdate((res) => {
console.log('上传进度', res.progress)
console.log('已经上传的数据长度', res.totalBytesSent)
console.log('预期需要上传的数据总长度', res.totalBytesExpectedToSend)
if(res.progress==100){
console.log('play voice')
}
})
没人么?我用上传图片的代码试了一下,该是多少字节的图片,上传上去还是多少字节的,没问题。语音的原始文件是不是需要做一些处理?