携帯向けFlashLiteのswfファイルをJavaで編集することになった時のメモです。(07/11/28)
■swfファイルのフォーマット
■あると便利なツール
●swftools
swfdump は、swfファイルの解析を行ってくれるので
作ったswfファイルの検証に使えて便利!
■Javaでプログラムする際の注意事項
●Javaはビッグエンディアンなので、リトルエンディアンを扱うにはByteBufferを使うと良い。
#良いという程ではないけど、自分でやるよりはいいかな・・・。
●Javaのシフト演算は、int(4バイト)以上しか扱えないので注意
byte, short を扱おうとすると、勝手に int に昇格させられてしまう。
[[15.18 シフト演算子>http://www.y-adagio.com/public/standards/tr_javalang/15.doc.htm#5121]]
[[5.6.1 単項数値昇格>http://www.y-adagio.com/public/standards/tr_javalang/5.doc.htm#170952]]
●byteの配列を数値にするには、BigIntegerが使えそう。
BigIntegerのコンストラクタが、byteの配列を扱える。
ただし、4バイト未満のデータを渡すと値がおかしくなる場合があるので
4バイト(byte[4])を渡すこと。
●レスポンスにswfファイルのデータを返したときに、IEがバイトコードを表示してしまう。
レスポンスのコンテンツタイプを見てくれていないようだ・・・(;´д⊂)
response.setContentType("application/x-shockwave-flash");
URLの拡張子を .swf にしたら解決したけど、、、他に手はないのだろうか、、、
最終更新:2007年11月28日 21:03