[Flash覚書]シーンをまたいでのサウンド再生
ほんとはいけないらしいのですが、私はよくシーンを分けてフラッシュ動画を作成します。
フレームレートとかの計算が簡単に感じて(;´Д`)ほんとは一個のシーンで作った方がいいらしいのですが。
で、今回もその方法で作ってたのですが、最後バックミュージックを付ける段になって簡単に付けられないことに気が付きました。
一個のシーンだとそのままフレームにつければいいらしいのですが、シーンをまたいでる場合、script記述で付けないとダメらしい。
以下の方法でうまくいきました!!
シーンをまたいでのサウンド再生 – Flash – 教えて!goo
スクリプトでサウンドを鳴らす時は、「リンケージ」という設定が必要です。
「ライブラリ」ウィンドウで、BGMとして鳴らしたいサウンドを選び、control +クリックで出すメニューから「リンケージ… 」を選択してください。「リンケージのプロパティ」パネルが開きます。
上のやり方はMacの場合かも。
リンケージはファイルを右クリックで選択するとでてきました。
「リンケージ:」の項目にある「 ActionScript に書き出し」にチェックを入れると、他の項目も編集可能になります。
「識別子」の項目に、何か分かりやすい名前を入力してください。この名前は、スクリプトでサウンドを扱う時に必要になります。日本語はトラブルの元になりやすいので、半角の英数字と” _ ”だけで付けるといいでしょう。
ここでは仮に、「 bgm 」と付けたとします。
また、「最初のフレームに書き出し」の項目は、チェックをいれない方がいいとありますが、今回の場合はNowLoadingがない動画だったので、チェックを入れた方がすんなり最初から音が出てよかったです。入れると結構長い間音が鳴らなかったです。
最初のフレームに以下のスクリプト記述をすればOK!
参考ページにあるように行頭にスペースがあるとエラーが出るので、全て消して下さい。
//BGMを動的に挿入し、再生する bgm_obj = new Sound(); bgm_obj.attachSound( "bgm" ); bgm_obj.start(); //演奏終了時、自動的にループ bgm_obj.onSoundComplete = function() { this.start(); };
これで見事にうまく行きましたが、この動画は最終的にはYoutubeにアップする用途のものだったため、AVIに変換する時に音だけ落ちてしまって、結局Windowsムービーメーカーで合成することになりました(;´Д`)
最終的な用途まで考えて作業しないといけないですね。
ディスカッション
ピンバック & トラックバック一覧
[…] 前記事の続き記事になりますが。 出来上がったswf動画をYoutubeにアップしようとしたら、 「失敗しました (動画ファイルを変換できません) 」というエラーメッセが出てきて 何回やって […]