2011-06-11 14 views
2

非常に単純なmp3プレーヤーを構築しています。私が必要とするのは、ページがロードされるとすぐに、ロード時に音楽を再生させることです。どのように私はそれを行う必要があります任意のアイデア?ActionScript 3.0のページロード時にスクリプトを実行

これは、これまでの私のコードです。私はこの機能をmusicPlayといい、その機能をページロードで実行させたいと考えています。私は必要なもの

package { 
    import flash.display.MovieClip; 
    import flash.events.MouseEvent; 
    import flash.media.Sound; 
    import flash.net.URLRequest; 

    public class mp3Player extends MovieClip { 

     public function mp3Player(){ 

      btnPlay.addEventListener(MouseEvent.CLICK, musicPlay); 

      function musicPlay (evt:MouseEvent):void { 
       var myMusic:Sound = new Sound(); 
       var soundFile:URLRequest = new URLRequest('background.mp3'); 
       myMusic.load(soundFile); 
       myMusic.play(); 
      } 

     } 
    } 
} 

答えて

2

それは、すぐにページがロードされた として、負荷に音楽を演奏 を開始することです。任意のアイデアはどのように 私はそれを行う必要がありますか?

ページの概念はアプリケーションではうまく機能しません。Flexは主にアプリケーションに使用されます。しかし、この場合、FlexのApplicationタグのapplicationCompleteメソッドを使用して、目的の機能を実現できると思われます。

musicPlay関数の引数として汎用イベントを使用すると、clickイベントとapplicationCompleteイベントの両方に応答できます。

 public function musicPlay (evt:Event):void { 
      var myMusic:Sound = new Sound(); 
      var soundFile:URLRequest = new URLRequest('background.mp3'); 
      myMusic.load(soundFile); 
      myMusic.play(); 
     } 

通常、別の関数の内部で関数を定義しないので、あなたが私たちに提供した構文は奇妙です。 (コンパイルされますか?)


更新、ポスターはFlexフレームワークを使用していないため、applicationCompleteイベントは存在しません。そのため、私はおそらく、単一のフレームにmp3プレーヤー機能を置き、enterFrameイベントで何かをすることに目を向けるでしょう。

+0

などのonloadイベントをリッスンホストページにいくつかのjavascriptが必要になります...私は実際にFlashで書かれていますが、Flex SDKではなく、Flash Professional CS5で完全に書かれています... FlexでapplicationCompleteについて知っていますが、Flashでこれを始めました(私はプロジェクトを輸出し、この2つのプログラム)私はFlash CS5に何かがあるかどうか疑問に思った。 – mrGott

+0

さて、あなたはたぶんFlexとして質問にタグを付けてはいけません。私はあなたのためにそれを記録した。 Flashでは、おそらくenterFrameイベントで何かをすることができます。私は私の答えを更新します。 – JeffryHouser

+0

ありがとうございました。 – mrGott

0

あなたのムービーのコードは、ロードされると直ぐに起動するので、マウスを聞くのではなく、音楽を開始する関数を呼び出すだけでイベント?

ページが何らかの理由(疑わしい)のための音楽を開始する前にロードされていることを確認する必要がある場合は、[はい

関連する問題