圧縮されたSWFの書き出し
Flash SWF書き出しの覚書4
SWFではバージョン6以降で圧縮をサポートした模様。
SWFバージョン8の仕様書p.17に軽く説明があるだけだが、ZLIBを使って圧縮すべしとのこと。
ポイントは
・ファイルの頭に書き出す3バイトのシグニチャをFWS(非圧縮)からCWS(圧縮あり)にかえる
・ヘッダ部のFileLengthは、『圧縮前のファイルサイズ』を書き込む
・FileLengthの直後(先頭から8バイト目移行)から圧縮する
さっそくJavaで実装してみた。
最初に試した標準ライブラリのGZIPOutputStreamではうまくいかないが、同じく標準ライブラリのjava.util.zip.DeflaterOutputStreamで書き出してみたところ無事FlashPlayerで再生が可能になった。
恐ろしくサックリ動いたがこれで良いのかな?恐るべしJavaの標準ライブラリ。
2月 18, 2007 Java, SWF書き出し | Permalink
トラックバック
この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/130974/13948775
この記事へのトラックバック一覧です: 圧縮されたSWFの書き出し:

コメント