用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

2016-11-20 14:35:08 天下雪原创达人 造轮子 人生巅峰 楼主 01414
问题:
各位大神,请教2个问题:
1、小程序所谓的10M本地存储,看文档,感觉只能存储数据、字符串,好像不是文件吧
2、假如我有一些基本的音频文件(比如按钮音效)需要播放,这些文件能放storage里吗,还是说程序启动的时候从服务器下载然后使用file.save保存



我看了API
我也试了,就是没法播放审核包里的音频
是这样的,我有几个按钮音效,比如有100K
1.我希望这几个mp3随着审核包一起发布,然后希望微信可以直接播放相对路径下的音频,发现不行
2.然后那就只有启动的时候用网络请求去下载文件,对吧,然后我缓存这个文件,有2个方式,一个是saveFile,一个是storage.

那问题来了,之前听说小程序有10M的本地缓存限制,我看了文档,好像saveFile并没有限制,storage有限制,我不知道大家是否了解


哈欠:
SAVEFILE是存在临时文件区,与STORAGE不同地方
saveFile 目前只允许将原有临时文件改名后保存。。
网络请求下载本地的,都是放临时文件区并且是临时文件。


问:恩,我就是担心这个,临时文件,用户是可以清掉的对吧
所以我是希望把这些音效文件放storage里,但是storage貌似无法存文件
1234.jpg
这里的参数是对象或者字符,音频的话,我是拿不到文件对象的,字符串明显也不行,因为播放的时候他只能传url
或者path
恩,storage是永久的[img]file:///D:\qqxin\qq\76026890\Image\Group\9L96`KY95GNE3B[_[9{[Y8F.png[/img]
50.jpg
这个场景,你做的话会怎么做


哈欠: 在PC机模拟环境运行,STORAGE是一个单个JSON文件,,在手机上,具体还没分析过,估计也是单个文件存所有STORAGE里面的东西。。


问:关键是没法将文件类型的东西放入srorage
小程序里,不行,他又不给访问文件流,不然我可以把文件数据base64放到storage.然后new一个file出来播放
savefile感觉可以做这个事情,唯一的问题就是我得做好异常处理,文件如果不存在的话,我要重新从服务器下载一份
就是不知道有没有人做过

哈欠: 放临时文件的东西多了,同用户SD卡其它地方有多大区别?
这个肯定在系统分配给微信的临时目录,微信自己也要守规矩.



问:是不是只能在启动时候检查,本地有就播放,没有就远程下载到本地,然后saveFile?

哈欠:是的




大家假如有其他看法,可以回复在底下,并@halfyawn
有问题请在本站内搜索相应关键词,假如无法解决请在综合交流区内发帖咨询,发帖时请提供详细的问题描述、相关图片及代码。
发新帖
您需要登录后才可以回帖 登录 | 立即注册