音声ファイルの圧縮設定を変える jsfl
遅ればせながら私も trick7 の tera さん主催のてら子に参加しました。tera さん、みなさんありがとうございました!
nium の taka さんによる mxp / jsfl のワークショップに触発されて早速簡単な jsfl を書いてみました。
音声ファイルを多く扱っているときに、デバッグ中はコンパイル速度を早くするために圧縮の設定を "速度優先" に切り替えたいし、本番用の時は設定を "品質優先" に切り替えたかったりします。数が多いとひとつひとつ設定するのが面倒なので、これを十把一絡にできるように jsfl を書いてみました。
最終的にはこんな感じになりました。
「音声ファイルの圧縮設定を速度優先に」
// sound_fast.jsfl var list = fl.getDocumentDOM().library.items for ( var i in list ) { var item = list[i]; if( item.itemType == "sound" ) { item.useImportedMP3Quality = false; item.bitRate = '64 kbps'; item.convertStereoToMono = false; item.quality = 'Fast'; } }
「音声ファイルの圧縮設定を品質優先に」
// sound_best.jsfl var list = fl.getDocumentDOM().library.items for ( var i in list ) { var item = list[i]; if( item.itemType == "sound" ) { item.useImportedMP3Quality = false; item.bitRate = '64 kbps'; item.convertStereoToMono = false; item.quality = 'Best'; } }
あわせてビットレートとステレオ⇔モノラルの設定もおこなっていますが、こちらはお好みで設定して下さい。
これを*.jsflで保存してメニュー>コマンド>コマンドの実行でファイルを選択すると実行できます
実際は一個手動でやってみて、そのヒストリをコピーして、新規JSFLファイルにペースト、一括処理するようにリライト、という感じです。
慣れてきたらヒストリからじゃなくて、イチからかくのもいいと思います。 ヘルプの[Flashの拡張機能]という項目にAPIについて詳細なリファレンスがあります。
flというオブジェクトがFlash本体に相当し、ライブラリやステージにアクセスすることができます。 fl.trace()関数で出力パネルにトレースすることもできるので変更処理しないでいろいろ試しながらできます。