2010/09/25(土) [n年前の日記]
#2 [flash] Flashでサウンドを鳴らそうとして四苦八苦中
ループが途切れる問題をどうにかすべく色々調べて実験中。FlashDevelop-3.2.2-RTM.exe、swfmill-0.3.1-win32.zip、flex_sdk_3.4.1.10084.zip をDL・インストール。ActionScript 2.0 でプロジェクトを作成。swfmill で、jpg,png,mp3 を含んだ .swf を作成するところまではできたけど…。
wav2swf でサウンドデータを含んだ swf を作成する実験も。wav を読み込ませるけど、mp3 に変換されて swf の中に入ってる模様。ループするように指定して作成した swf をフツーに再生してみたが、やはりループの境目で音が途切れてしまう。Flash CSx のように、無音部分を除外して再生するような工夫はされてない、ということだろうなあ…。
そもそも本当に Flash CSx ならループが途切れないのだろうか。不安になったのでそちらも実験。最初はタイムライン上に wav を並べていたけど、this.snd = new Sound(); snd.AttachSound("ID_SOUND_HOGE"); this.snd.start(0, 99999999); this.snd.stop("ID_SOUND_HOGE"); といったスクリプトの記述をするだけでも再生停止が出来た。それはともかく、たしかに Flash CSx ならループが途切れない。
Flash CSx 上で、サウンドデータだけを含んだ(リンケージされた?) swf を作成して、メインとなる swf で読み込み、サウンドデータ梱包用 swf の中からサウンドを取り出して使う、ということができないかと思いついた。どういう書き方をすればソレが実現できるのか分からないけど。
wav2swf でサウンドデータを含んだ swf を作成する実験も。wav を読み込ませるけど、mp3 に変換されて swf の中に入ってる模様。ループするように指定して作成した swf をフツーに再生してみたが、やはりループの境目で音が途切れてしまう。Flash CSx のように、無音部分を除外して再生するような工夫はされてない、ということだろうなあ…。
そもそも本当に Flash CSx ならループが途切れないのだろうか。不安になったのでそちらも実験。最初はタイムライン上に wav を並べていたけど、this.snd = new Sound(); snd.AttachSound("ID_SOUND_HOGE"); this.snd.start(0, 99999999); this.snd.stop("ID_SOUND_HOGE"); といったスクリプトの記述をするだけでも再生停止が出来た。それはともかく、たしかに Flash CSx ならループが途切れない。
Flash CSx 上で、サウンドデータだけを含んだ(リンケージされた?) swf を作成して、メインとなる swf で読み込み、サウンドデータ梱包用 swf の中からサウンドを取り出して使う、ということができないかと思いついた。どういう書き方をすればソレが実現できるのか分からないけど。
[ ツッコむ ]
以上です。