SWF-File-0.20 > SWF::Parser

名前

SWF::Parser - SWFファイルをパース

概要

  use SWF::Parser;

  $parser = SWF::Parser->new( header-callback => \&header, tag-callback => \&tag);
  # parse binary data
  $parser->parse( $data );
  # or parse SWF file
  $parser->parse_file( 'flash.swf' );

説明

SWF::Parserモジュールは、SWF (Macromedia Flash(R))ファイルのパーサを提供します。 パーサは、SWFファイルをヘッダとタグに分離し、ユーザー定義のサブルーチンを呼び出します。

メソッド

SWF::Parser->new( header-callback => \&headersub, tag-callback => \&tagsub [, stream => $stream])

新しいパーサを作成します。 ヘッダ、タグを見つけたときに呼ばれるサブルーチンをそれぞれ設定します。 読み込みストリームSWF::BinStream::Readオブジェクトを設定することもできます。 ストリームを設定しないときは、内部に用意したストリームが使われます。

&headersub( $self, $signature, $version, $length, $xmin, $ymin, $xmax, $ymax, $framerate, $framecount )

ユーザーが定義するヘッダ用のコールバックサブルーチンです。 以下の引数とともに呼ばれます:

  $self:       パーサオブジェクト
  $signature:  'FWS'(通常のSWF)か'CWS'(圧縮SWF)
  $version:    SWFバージョン番号
  $length:     ファイル長
  $xmin, $ymin, $xmax, $ymax:
     フレームの大きさ、($xmin,$ymin)-($xmax, $ymax),(TWIPS(1/20 pixels)単位)
  $framerate:  秒あたりフレーム数
  $framecount: 総フレーム数
&tagsub( $self, $tagno, $length, $datastream )

ユーザーが定義するタグ用のコールバックサブルーチンです。 以下の引数とともに呼ばれます:

  $self:       パーサオブジェクト
  $tagno:      タグのID番号
  $length:     タグ長
  $datastream: タグの残りのデータを読むSWF::BinStream::Readオブジェクト
$parser->parse( $data )

$dataをSWFとしてパースします。 複数回呼ぶことができます。

$parser->parse_file( $file );

SWFファイルをパースします。 引数にはファイル名かファイルハンドルを指定することができます。

$parser->parseheader;

SWFヘッダをパースして&headersubをコールします。 通常はparseメソッド内で使われます。

$parser->parsetag;

SWFタグをパースして&tagsubをコールします。 通常はparseメソッド内で使われます。 DefineSprite内のMiniFileStructureを再パースするのに使えます。

コピーライト

Copyright 2000 Yasuhiro Sasama (ySas), <ysas@nmt.ne.jp>

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

SWF::BinStream, SWF::Element

SWF file format specification from Macromedia.

翻訳者

笹間康弘 (ysas@nmt.ne.jp)