gpt4 book ai didi

android - 访问 obb 扩展文件中的文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:17:33 27 4
gpt4 key购买 nike

我正在关注所有官方扩展文件指南,但我找不到它。我无法访问我需要的包含的 obb 文件。

我需要 6 个音频文件 (80Mb),我将它们“存储”(未压缩)在一个 zip 文件中并重命名为“main.2001.test.expansion.proj.obb”并存储在“/mnt/sdcard/Android/”中obb/test.expansion.proj/'

我会尝试访问这些文件

String mainFileName = Helpers.getExpansionAPKFileName(this,true,2001);
if(!Helpers.doesFileExist(this, mainFileName, 27959282L, false))
{
//download
} else {
Log.d("test_file","file exist");
}

ZipResourceFile expansionFile = APKExpansionSupport.getAPKExpansionZipFile(this,2001,2001);
if(expansionFile!=null)
{
ZipEntryRO[] ziro = expansionFile.getAllEntries();
for (ZipEntryRO entry : ziro) {
Log.d("test_files_zip", "fileZip filename: "+entry.getZipFileName());
try{
AssetFileDescriptor ro = entry.getAssetFileDescriptor();
Log.d("test_files_zip", "--fileZip getfiledescriptor.tostring: "+ro.getFileDescriptor().toString());
Log.d("test_files_zip", "--fileZip createinputstring.tostring: "+ro.createInputStream().toString());

AssetFileDescriptor assetFileDescriptor = expansionFile.getAssetFileDescriptor(entry.getZipFileName()+"/audio02.mp3");
if(assetFileDescriptor!=null) {
Log.d("test_files_mp3", "length: "+assetFileDescriptor.getLength()); //checking it exists
}
}catch (IOException e){ Log.e("test_exp","IoExcp: "+e.getMessage()); }
}
}

在 -> assetFileDescriptor = expansionFile.getAssetFileDescriptor(.....);我已经尝试了所有我在不同地方发现和发现的东西,但我无法获取文件。如果文件在 zip 中,有什么方法可以从文件名中获取文件?

应用程序应按特定顺序播放这些文件,我们不想解压缩文件并将它们设为“公开”。


已编辑。对自己的回答

发现,这是我第一次看的时候不理解的台词,或者我只是想念它。

ZipResourceFile expansionFile = APKExpansionSupport.getAPKExpansionZipFile(this,2001,2001);
if(expansionFile!=null){
FileDescriptor fd = expansionFile.getAssetFileDescriptor("audio_01.mp3");
//or
InputStream is = expansionFile.getInputStream("audio_01.mp3");
}

最佳答案

正如 Aarolama Bluenk 所建议的,这是答案代码(重复)

发现,这是我第一次看的时候不理解的台词,或者我只是想念它。

ZipResourceFile expansionFile = APKExpansionSupport.getAPKExpansionZipFile(this,2001,2001);
if(expansionFile!=null){
FileDescriptor fd = expansionFile.getAssetFileDescriptor("audio_01.mp3");
//or
InputStream is = expansionFile.getInputStream("audio_01.mp3");
}

关于android - 访问 obb 扩展文件中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12635069/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com