代码片段见此
https://developers.weixin.qq.com/s/gp28Y9ml7tmJ
基础库版本号:2.1.4
微信版本号:7.0.20
手机:安卓版本10
业务逻辑:
1,用户录制音频,先保存到本地:filePath = wx.env.USER_DATA_PATH + ‘/’ + fileName;
2,用户试听后可重新录制,文件名与前一次录制的相同,saveFile覆盖原录制的MP3音频文件
fileManager = wx.getFileSystemManager
fileManager.saveFile
3,试听新的录音(问题来了)
真机测试问题描述:
进行3次录制:A次、B次、C次,都保存为同一个文件:0.MP3
A次录制后,点击播放,正确播放了A次录制的声音;再次点击播放,依然正确;
B次录制后,点击播放,正确播放了B次录制的声音;再次点击播放,不正确,播放的是A次录制的声音;
C次录制后,点击播放,正确播放了C次录制的声音;再次点击播放,不正确,播放的是A次录制的声音。
也就是说,只有第一次录制生成的本地文件,无论多少次播放,都是正确的,之后新数据覆盖原本地文件后,只有第一次播放正常,之后都会播放第一次录制的音频文件。
我在保存新录音文件之前,用fileManager.unlink删除文件后保存为同名文件还是一样的情况,但因为业务需要,必须要同一item的录音文件在本地只有一个,名称保持不变。
请问这个问题怎么解决?
是API调用出错?还是小程序录音文件缓存机制的Bug?
主要涉及的API:
fileManager = wx.getFileSystemManager()
fileManager.unlink()
fileManager.saveFile()
player = wx.createInnerAudioContext()
player.play()