職場で FlashPlayer 9 のマイナーバージョン絡みでハマる。要件定義の際には、マイナーバージョンまでの同意を得るべきだと痛感した。
リリースノートに書かれている以外にも、メソッドやプロパティがしれっと追加や仕様変更されているようなので調べてみた。とりあえず 9.0.115 で。
$ wget http://livedocs.adobe.com/flex/3_jp/flex3jp_documentation.zip $ unzip flex3jp_documentation.zip $ cd flex3jp_documentation/langref $ find ./ -name '*.html' | xargs grep -l '9.0.115' ./all-index-G.html ./flash/media/SoundMixer.html ./flash/media/Video.html ./flash/events/NetStatusEvent.html ./flash/sampler/package.html ./flash/sampler/StackFrame.html ./flash/sampler/Sample.html ./flash/sampler/package-detail.html ./flash/sampler/DeleteObjectSample.html ./flash/sampler/NewObjectSample.html ./flash/external/ExternalInterface.html ./flash/net/URLRequest.html ./flash/net/XMLSocket.html ./flash/net/Socket.html ./flash/net/NetStream.html ./flash/system/Capabilities.html ./flash/system/System.html ./flash/display/BitmapData.html ./flash/display/Stage.html ./flash/display/LoaderInfo.html
DebugPlayer 専用は無視、Socket のセキュリティポリシー的なところも除外するとして、
- SoundMixer#computeSpectrum()
- ExternalInterface.marshallExceptions
- URLRequest.digest
- BitmapData#draw()
- BitmapData#unlock()
- Stage.fullScreenHeight
- Stage.fullScreenSourceRect
- Stage.fullScreenWidth
- LoaderInfo.bytes
- LoaderInfo#getLoaderInfoByDefinition()
これくらいか。
おお、BitmapData#draw()って9.0.115以下だめだったのか!
すみませんが、あと、よろしくお願いします(汗)
“このメソッドは、Flash Player 9.0.115.0 以降および Adobe AIR の RTMP でサポートされます。”
って文章は、なんなんでしょうね?
このメソッド、9 が出た頃からあった気がしますが…。
BitmapData.draw()って、AS2(player8)からあったよね・・・?
本家の livedocs をあたったら
“This method is supported over RTMP in Flash Player 9.0.115.0 and later and in Adobe AIR.”
なので、「RTMP プロトコル (FLV?) で使いたい場合は 9.0.115 以上か AIR」が正解でした。
(あってるかな…)。