2016-08-18 2 views
0

Flash AS3을 사용하여 사운드를 켜기/끄기 버튼을 만들었습니다. 이러한 기능은 작동하지만 버튼을 누른 다음 버튼을 누를 때마다 음악이 다시 재생되지 않습니까?루핑 사운드 as3

나는 그것이 반복적 인 문제라고 생각하지만 틀릴 수 있습니까? 루프 문제라면 어떤 코드를 사용해야할지 모르겠습니다.

또한 사운드를 자동으로 재생하는 .swf 파일을 열 때와 마찬가지로 btnOn 함수의 코드를 추가해야합니다.

var mySound:Sound = new sandstorm(); //(sandstorm is my sound file) 

var myChannel:SoundChannel = new SoundChannel(); 

var lastPosition:Number = 0; 

myChannel = mySound.play(); 

btnOff.addEventListener(MouseEvent.CLICK, onClickPause); 

function onClickPause(e:MouseEvent):void { 

lastPosition = myChannel.position; 

myChannel.stop(); 

} 

건배 :)

+0

_ "... 나는 소리가 자동으로 재생 .swf 파일을 열 때"_ 그래서 당신은이 명령이하고있는 생각 무엇을 사용 .play();'? 클릭 할 때 ** 일어날 일만이 ** 원한다면 그 명령을 클릭 핸들링 기능 안에 넣으십시오. 추신 : 함수'onClickPause'는 오디오를 일시 중지했다가 다시 시작할 수 있습니까? –

답변

0

귀하의 코드는 이벤트 리스너 onClickPause를 (I thinkt 당신의 정지 버튼을 먹으 렴)를 보여줍니다 : 첨부

아래에있는 내 현재 코드입니다. 하지만 시작/재생 버튼에 대한 이벤트 리스너는 어디입니까? 재생 버튼에서 재생 기능을 다시 호출해야합니다. 훌륭한 자습서는 다음과 같습니다. http://www.republicofcode.com/tutorials/flash/as3sound/

+0

거기에서 시도했지만 코드가 작동하지 않습니까? – ConfusedDreamweaverUser

+1

전체 코드를 게시 할 수 있습니까? 재생/다시 시작 버튼 코드는 어디에 있습니까? –

0

아래 코드를 시도해 볼 수 있습니다. `myChannel = mySound : 그것은 오디오 일시 정지/다시 시작 기능을위한 하나 개의 버튼 ...

var mySound:Sound = new sandstorm(); //(sandstorm is my sound file) 
var myChannel:SoundChannel = new SoundChannel(); 
var lastPosition:Number = 0; 
var audioState : String = "paused"; //will become either "playing" or "paused" 


myChannel = mySound.play(); //this line starts playback 
audioState = "playing"; //update because you started playback with above line 

btnOff.addEventListener(MouseEvent.CLICK, onPlayPause); 


function onPlayPause(e:MouseEvent):void 
{ 

    if (audioState == "playing") //IF already playing 
    { 
     lastPosition = myChannel.position; //note current "audio time" when pausing 
     myChannel.stop(); //stop playback 
     audioState = "paused"; //update for next time click is used 
    } 
    else if (audioState == "paused") //or ELSE IF was already paused then... 
    { 
     myChannel = mySound.play(lastPosition); //resume playback 
     audioState = "playing"; //update for next time click is used 
    } 

}