【问题标题】:Extract .obb files in as3在 as3 中提取 .obb 文件
【发布时间】:2014-07-08 07:50:43
【问题描述】:

我有一个使用 Flash CS6 和 Adob​​e AIR 制作的应用程序,它超过了 50Mb 的 Google Play 限制。所以我使用的是扩展文件,它是一个 .obb 文件,里面有几个我需要使用 as3 提取的 swf。扩展文件被下载到 /Android/obb/my_package_name/ 文件夹,我可以在下面的代码中找到它,但是在从 obb 文件中提取文件时卡住了。 使用 FZIP 类没有帮助(它提取 .zip 文件而不是 .obb)。以下是我的代码

file = File.userDirectory.resolvePath(path + "/" + filename);
if (file.exists)
{
    loadSwf();
}

function loadSwf():void 
{
    fileStream = new FileStream(); 
    fileStream.open(file, FileMode.READ);
    bytes = new ByteArray();
    fileStream.readBytes(bytes);
    trace(bytes);
    fileStream.close(); 

    var cont:LoaderContext = new LoaderContext();
    cont.allowCodeImport = true;

    applicationLoader = new Loader();
    applicationLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleAppLoaded);
    applicationLoader.loadBytes(bytes, cont);
}

function handleAppLoaded(e:Event):void 
{
    addChild(applicationLoader);
    /* Now how to extract the swf's from within the obb */
}

【问题讨论】:

  • *.obb是什么文件格式?我认为应该有办法从这样的 obb 导出 SWF,如果这是一个受支持的扩展,但我不知道。
  • OBB 文件扩展名与适用于智能手机和平板电脑的 Google Android 操作系统相关联。

标签: android actionscript-3 air expansion


【解决方案1】:

.obb 是 zip 文件,重命名它然后使用 fzip 读取其内容。请注意,Google Play 本身表示在某些设备上 .obb 文件可能无法与您的应用一起安装。在这种情况下,他们免费提供托管您的 .obb 文件,但如果您不希望您的用户等待 .obb 下载,您将不得不切换到不同的系统。

我个人跳过该步骤,直接将丢失的文件(仅声音或某些情况下的图形)下载到设备并将它们保存在光盘上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2015-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多