2011-07-05 6 views
1

새로운 기능이므로 초보자에게 질문하십시오.Flash CS5의 버튼 소리 제어

내 플래시 문서에서 나는 주어진 버튼을 누를 때 소리를 내게 할 페이지에 몇 개의 버튼을 만들고있다. 첨부 된 오디오의 길이는 1 ~ 2 분이며, 사용자가 원하는 경우 특정 부분의 사운드를 끌 수있는 옵션을 제공하고 싶습니다. 방법

나는 사용자가 한 번에 두 개 이상의 사운드를 재생하지 않습니다 있는지 확인하려면
import flash.media.SoundMixer; 
myButton.addEventListener(MouseEvent.CLICK,fn_clickHandler); 
function fn_clickHandler(IN_Event:MouseEvent):void 
{   
SoundMixer.stopAll();  
} 

가, 누군가가 저를 알릴 수 : 나는 다음과 같은 AS3와 함께 페이지에 버튼을함으로써 그렇게했습니다 적용 해?

고맙습니다.

답변

1

나는 귀하의 질문을 완전히 이해하지 못했습니다. 당신이 침묵 갈 전체 플래시 페이지로 다스 려 경우에만

import flash.events.MouseEvent; 
import flash.media.Sound; 
import flash.media.SoundChannel; 

var SChannel : SoundChannel; 
var sound : Sound; 

// your sound managing buttons 
sound_1.addEventListener (MouseEvent.CLICK, handleChangeSound); 
sound_2.addEventListener (MouseEvent.CLICK, handleChangeSound); 
sound_3.addEventListener (MouseEvent.CLICK, handleChangeSound); 

// sound off button 
turn_off.addEventListener (MouseEvent.CLICK, turnOffSound); 

// sound off managining function 
function turnOffSound (e : MouseEvent) : void 
{ 
    SChannel.stop(); 
    SChannel = null; 
    sound = null; 
} 

// are sounds in your library Sound_1(), Sound_2(), Sound_3() 
function handleChangeSound (e : MouseEvent) : void 
{ 
    // in my situation since the button names were sound_1, .._2, .._3 
    // i can extract the sound id from names of the button. 
    // if you have some different approach you just need to adopt it. 
    var soundID : uint = e.target.name.split ('_')[1]; 

    // ifi sound is playing, stop it 
    if (SChannel) 
    { 
     turnOffSound(null); 
    } 

    // create new sound, from ID given 
    switch (soundID) 
    { 
     case 1 : 
      sound = new Sound_1(); 
      break; 

     case 2 : 
      sound = new Sound_2(); 
      break; 

     case 3 : 
      sound = new Sound_3(); 
      break; 
    } 

    // if sound was in the list start playing it. 
    if (sound) 
    { 
     SChannel = sound.play(); 
    } 
} 

그리고 그런데

, SoundMixer을 사용하지만 난 여기 바로 그때를 한 경우에 대답입니다.

관련 문제