0
세 개의 음악 트랙을 차례로 재생해야합니다. 캐시가 다시로드되지 않고 캐시에 있어야합니다. 이 코드를 사용합니다. 모든 것이 localhost에서 잘 작동하지만 서버에서 앱을 다시 시작한 후에 만 작동합니다. 매번 트랙을 다시 다운로드하는 것은 잘못입니다.AS3에서 음악 트랙을 재생하는 방법은 무엇입니까?
public function musicOn():void{
if (sndStart == 'true'){
req = new URLRequest("media/" + track + ".mp3");
snd.load(req);
channel = snd.play();
channel.addEventListener(Event.SOUND_COMPLETE, onPlaybackComplete);
sndStart = 'false';
} else {
sndStart = 'true';
}
}
public function musicOff():void{
if (snd.length>0){
channel.stop();
snd = new Sound();
channel = new SoundChannel();
sndStart = 'true';
}
}
public function onPlaybackComplete(event:Event):void
{
if (track==3){
track = 1;
} else {
track++;
}
sndStart = 'true';
snd = new Sound();
musicOn();
}
나는 이러한 기능을 실행
if (optObj.music == 'true' && sndStart == 'true'){
musicOn();
} else if (optObj.music == 'false'){
musicOff();
}
optObj.music을 -이 경우 응용 프로그램이 시작 또는 전 기능 설정을 변경 호출 할 때 호출되는 매개 변수를 사용하여 객체입니다.
감사합니다. weltraumpirat 하지만 같은 문제가 발생합니다. 재생 후 함수 musicOn()을 호출하면 음악이 처음에는 재생되지 않지만 두 번째에만 재생됩니다. – Astraport
그럼 다른 프로그램에서 다른 문제가 생길 것입니다. 제 서버에서 똑같은 스크립트를 시도했지만 정상적으로 작동합니다. 방법을 호출하는 버튼일까요? 아니면 위의 스크립트에서 if (sndStart == 'true')를 넣었습니까? 프로그램 시작시 sndStart = 'true'로 설정하는 것을 잊었을 수 있습니까? – weltraumpirat
예, 문제는 다른 곳에서 발생했습니다. 필자는 별도의 창 설정을 사용하여 매개 변수를 주 응용 프로그램에 전달합니다. 어쨌든 항상 적절한 옵션을 통과하지는 않습니다. 이제 나는 다룰 것이다. 다시 한번 감사드립니다. – Astraport