我们已经破坏了谷歌的APK大小限制,并计划通过扩展包发送我们的声音文件下载。 “assets”文件夹中有两个directoriess,用于保存我们的oggsm,音乐和声音
第一部分进展顺利,设法将包含这2个目录和大约200个文件的压缩文件推送到obb文件夹,并可以打开zip并访问其中的文件。
问题是我把它们放在哪里?
我一直在尝试获取我们的apk数据最初解压缩位置的根目录,并将声音放回到之前居住的相同位置。
这是正确的还是我们应该使用getexternalfilesdir()并将我的两个文件夹放在那里并使用新位置来播放声音?
感谢您的回复。
答案 0 :(得分:4)
请不要解压缩您的APK扩展文件。通过使用zip -0添加它们,将您的资源存储在APK文件(未压缩)中。然后,您可以直接从APK扩展文件中流式传输它们。如果您解压缩APK扩展文件,则需要将文件存储两次,因为如果您更新了应用程序,Google Play将再次下载APK扩展文件。
Android中的所有音频和视频API都将采用FileDescriptor,偏移量和长度。
示例:
事实证明,APK扩展文件包附带的示例代码在ZipResourceFile中有一个返回AssetFileDescriptor的函数。
AssetFileDescriptor对象返回偏移量和长度,以及原始文件描述符。