#ChannelPlayer · Quest2 · Unity · VRソフト

zipファイルを開く

CBR/CBZ Comics in C# – CodeProject https://www.codeproject.com/Articles/28171/CBR-CBZ-Comics-in-C を(ライセンスはCPOLなので、著作権はthund3rstruckさんにあります。)を参考にして、a.zipファイルの情報取得が出来ました。上記のサイトのプログラムでは、一枚ずつ取り出す実装となっているので、指定のページも取り出せるようにする必要がありますが、無事静止画を取り出せそうです。Quest2でも動きました。

以下が、実行したもの。Unityプロジェクトを作り、適当なGame Objectに 以下のコードを入れたmain.csを置き
上記サイトのコード CbzComic.cs, IComic.csをAssets以下に置いてます。またICSharpCode.SharpZipLib.dllも同様です。

Oculus Quest2、いつの間にかDeveloper ModeでもPCから内部ファイルアクセス可能になっていて、サンプル用のa.zipファイルを置くのが簡単でした。

    void Start()
    {
        string scanPath = Application.persistentDataPath;
        string selectFile = "a.zip";
        string error_string = "";
        var myComic = new CbzComic(string.Format("{0}/{1}", scanPath, selectFile));
    
        string Text = string.Format("{0}\r\nSize: {1}MB\r\nPages: {2}", myComic.FileName, myComic.FileSize, myComic.PageCount);

        if (myComic.ErrorMessage != string.Empty)
        {
            error_string = myComic.ErrorMessage;
        }
     
        string CoverPathString = myComic.CoverPath;

        Debug.Log("CoverPathString:" + CoverPathString);
        Debug.Log("Text:" + Text);
        Debug.Log("ErrorMessage" + error_string);

    }

以下が結果。

01-25 23:54:00.173: I/Unity(15201): CoverPathString:/storage/emulated/0/Android/data/com.Applet_LLC.CBP/files/00001.jpg
01-25 23:54:00.174: I/Unity(15201): Text:a.zip
01-25 23:54:00.174: I/Unity(15201): Size: 15MB
01-25 23:54:00.174: I/Unity(15201): Pages: 74
01-25 23:54:00.174: I/Unity(15201): ErrorMessage
広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中