2011-10-18 9 views
1

私はAction Script 3に問題があります。私はFlash CS5を使用しています。アクションスクリプト3:カラオケプレイヤー - 再生中に音楽が始まらない、テキストのみ

小さなカラオケプレーヤーを作りたいです。最初の試合では動作しますが、2回目では動作しません。

最初のレイヤーには、自分のプレーヤー(音楽、ボタンなど)があります。再生ボタンで、オーディオ(mp3)と歌詞(テキスト)を開始します。テキストをインスタンス(メインレイヤーのサブレイヤー)と呼びます。

問題は、曲とテキストを完成してもう一度再生すると、テキストだけが始まり、音楽ではないということです。

どうすれば音楽を読み込むことができますか?ここで

が私のコードです:私はあなたが私を助けることができると思います

// Musik 
var meinSound = new musik(); 
var meinSoundKanal = meinSound.play(); 
var meinSoundTransform = meinSoundKanal.soundTransform; 
meinSoundKanal.stop(); 
var soundPosition = 0; 

// Play und Pause Button 
var buttonZustand = "Play"; 

this.play_bt.addEventListener (MouseEvent.CLICK, buttonAendern); 
function buttonAendern (Param) { 
    if (buttonZustand == "Play") { 
     this.play_bt.gotoAndStop (2); 
     buttonZustand = "Pause"; 
     meinSoundKanal = meinSound.play (soundPosition); 
     meinSoundKanal.soundTransform = meinSoundTransform; 
     this.textanimation.play(); 
    } else { 
     this.play_bt.gotoAndStop (1); 
     buttonZustand = "Play"; 
     soundPosition = meinSoundKanal.position; 
     meinSoundKanal.stop(); 
     this.textanimation.stop(); 
    } 
} 

// Volume Button 
var volumeZustand = "An"; 

this.volume_bt.addEventListener (MouseEvent.CLICK, volumeAendern); 
function volumeAendern (Param) { 
    if (volumeZustand == "An") { 
     this.volume_bt.gotoAndStop (2); 
     volumeZustand = "Aus"; 
     meinSoundTransform.volume = 0; 
     meinSoundKanal.soundTransform = meinSoundTransform; 
    } else { 
     volumeZustand = "An"; 
     this.volume_bt.gotoAndStop (1); 
     meinSoundTransform.volume = 1; 
     meinSoundKanal.soundTransform = meinSoundTransform; 
    } 
} 

// Stop Button 
this.stop_bt.addEventListener(MouseEvent.CLICK, LiedStoppen); 
function LiedStoppen (e) { 
    meinSoundKanal.stop(); 
    play_bt.gotoAndStop(1) 
    this.textanimation.gotoAndStop(1) 
} 

// Lautstärkeregler 
var bewegungsRaum=new Rectangle(361,357,168,0); 

this.regler_bt.addEventListener(MouseEvent.MOUSE_DOWN, halten); 

function halten(Parameter) 
{ 
    this.regler_bt.startDrag(false, bewegungsRaum); 
} 

this.regler_bt.addEventListener(MouseEvent.MOUSE_UP, loslassen); 

function loslassen(Parameter) 
{ 
    this.regler_bt.stopDrag(); 
} 


this.regler_bt.addEventListener(MouseEvent.MOUSE_MOVE, lautRegeln); 
function lautRegeln(Param) { 
    meinSoundTransform.volume = (this.regler_bt.x -361)/168; 
    meinSoundKanal.soundTransform = meinSoundTransform; 
} 

:)


が更新挨拶:

// Musik 
var meinSound = new musik(); 
var meinSoundKanal = meinSound.play(); 
var meinSoundTransform = meinSoundKanal.soundTransform; 
meinSoundKanal.stop(); 
var soundPosition = 0; 

meinSoundKanal.addEventListener(Event.SOUND_COMPLETE, next_item_handler); 
     function next_item_handler(e:Event):void{ 
     meinSoundKanal.stop(); 
     soundPosition = meinSoundKanal.position; 
    } 


// Play und Pause Button 
var buttonZustand = "Play"; 

this.play_bt.addEventListener (MouseEvent.CLICK, buttonAendern); 
function buttonAendern (Param) { 
    if (buttonZustand == "Play") { 
     this.play_bt.gotoAndStop (2); 
     buttonZustand = "Pause"; 
     meinSoundKanal = meinSound.play (soundPosition); 
     meinSoundKanal.soundTransform = meinSoundTransform; 
     this.textanimation.play(); 
    } else { 
     this.play_bt.gotoAndStop (1); 
     buttonZustand = "Play"; 
     soundPosition = meinSoundKanal.position; 
     meinSoundKanal.stop(); 
     this.textanimation.stop(); 
    } 
} 



// Volume Button 
var volumeZustand = "An"; 

this.volume_bt.addEventListener (MouseEvent.CLICK, volumeAendern); 
function volumeAendern (Param) { 
    if (volumeZustand == "An") { 
     this.volume_bt.gotoAndStop (2); 
     volumeZustand = "Aus"; 
     meinSoundTransform.volume = 0; 
     meinSoundKanal.soundTransform = meinSoundTransform; 
    } else { 
     volumeZustand = "An"; 
     this.volume_bt.gotoAndStop (1); 
     meinSoundTransform.volume = 1; 
     meinSoundKanal.soundTransform = meinSoundTransform; 
    } 
} 

// Stop Button 
this.stop_bt.addEventListener(MouseEvent.CLICK, LiedStoppen); 
function LiedStoppen (e) { 
    meinSoundKanal.stop(); 
    play_bt.gotoAndStop(1) 
    this.textanimation.gotoAndStop(1) 
} 

// Lautstärkeregler 
var bewegungsRaum=new Rectangle(361,357,168,0); 

this.regler_bt.addEventListener(MouseEvent.MOUSE_DOWN, halten); 

function halten(Parameter) 
{ 
    this.regler_bt.startDrag(false, bewegungsRaum); 
} 

this.regler_bt.addEventListener(MouseEvent.MOUSE_UP, loslassen); 

function loslassen(Parameter) 
{ 
    this.regler_bt.stopDrag(); 
} 


this.regler_bt.addEventListener(MouseEvent.MOUSE_MOVE, lautRegeln); 
function lautRegeln(Param) { 
    meinSoundTransform.volume = (this.regler_bt.x -361)/168; 
    meinSoundKanal.soundTransform = meinSoundTransform; 
} 

は再び更新:D

// Musik 
var meinSound = new musik(); 
var meinSoundKanal = meinSound.play(); 
var meinSoundTransform = meinSoundKanal.soundTransform; 
meinSoundKanal.stop(); 
var soundPosition = 0; 

meinSoundKanal.addEventListener(Event.SOUND_COMPLETE, next_item_handler); 
    function next_item_handler(e:Event):void{ 
      var soundPosition = 0; 
      var meinSoundKanal = meinSound.play(); 
    } 


// Play und Pause Button 
var buttonZustand = "Play"; 

this.play_bt.addEventListener (MouseEvent.CLICK, buttonAendern); 
function buttonAendern (Param) { 
    if (buttonZustand == "Play") { 
     this.play_bt.gotoAndStop (2); 
     buttonZustand = "Pause"; 
     meinSoundKanal = meinSound.play (soundPosition); 
     meinSoundKanal.soundTransform = meinSoundTransform; 
     this.textanimation.play(); 
    } else { 
     this.play_bt.gotoAndStop (1); 
     buttonZustand = "Play"; 
     soundPosition = meinSoundKanal.position; 
     meinSoundKanal.stop(); 
     this.textanimation.stop(); 
    } 
} 

// Volume Button 
var volumeZustand = "An"; 

this.volume_bt.addEventListener (MouseEvent.CLICK, volumeAendern); 
function volumeAendern (Param) { 
    if (volumeZustand == "An") { 
     this.volume_bt.gotoAndStop (2); 
     volumeZustand = "Aus"; 
     meinSoundTransform.volume = 0; 
     meinSoundKanal.soundTransform = meinSoundTransform; 
    } else { 
     volumeZustand = "An"; 
     this.volume_bt.gotoAndStop (1); 
     meinSoundTransform.volume = 1; 
     meinSoundKanal.soundTransform = meinSoundTransform; 
    } 
} 

// Stop Button 
this.stop_bt.addEventListener(MouseEvent.CLICK, LiedStoppen); 
function LiedStoppen (e) { 
    meinSoundKanal.stop(); 
    play_bt.gotoAndStop(1) 
    this.textanimation.gotoAndStop(1) 
} 

// Lautstärkeregler 
var bewegungsRaum=new Rectangle(361,357,168,0); 

this.regler_bt.addEventListener(MouseEvent.MOUSE_DOWN, halten); 

function halten(Parameter) 
{ 
    this.regler_bt.startDrag(false, bewegungsRaum); 
} 

this.regler_bt.addEventListener(MouseEvent.MOUSE_UP, loslassen); 

function loslassen(Parameter) 
{ 
    this.regler_bt.stopDrag(); 
} 


this.regler_bt.addEventListener(MouseEvent.MOUSE_MOVE, lautRegeln); 
function lautRegeln(Param) { 
    meinSoundTransform.volume = (this.regler_bt.x -361)/168; 
    meinSoundKanal.soundTransform = meinSoundTransform; 
} 
+0

CD + Gカラオケフォーマットを使用してプロジェクトしていますか? – Shaun

答えて

0

あなたはオーディオが再生を終了したか否かをチェックするためにsoundChannelクラスを使用する必要があります。

SndChannel.addEventListener(Event.SOUND_COMPLETE, next_item_handler); 
    private function next_item_handler(e:Event):void{ 
     //location for next or prev or repeat link. 
    } 
+0

こんにちはBenny Geo、どうもありがとうございました。私は(私のコードを参照して)それを試しましたが、まだ運がありません。たぶん私は何かが間違っている。もう一度ありがとう:) – drknickel

+0

私のメインの記事を更新しました:) – drknickel

+0

私はもう一度試しましたが、うまくいきません。私は何のエラーメッセージも、何も得ない:)私のメインの投稿を参照してください:) – drknickel

関連する問題