그래서이 하나가 저를 곤란하게합니다. 내 웹 사이트 계획은 XML 파일에서 가져온 음악 트랙을 메뉴 버튼으로로드 된 다양한 .swfs의 배경 음악으로 사용하는 것입니다. 나는. '홈 (Home)'을 치면 홈 .swf로 돌아가서 적절한 음악을 재생합니다. 나는 .swf를 크게 확장하지 않고 오디오 품질을 유지할 수없는 것처럼로드 시간을 줄이기 위해 .swf에 직접 음악을 첨부하는 대신 XML을 통해이 작업을 수행하려고합니다 (동기화는 중요하지 않습니다).AS3 - 단일 트랙 반복 기능이있는 XML 재생 목록
두 가지 문제가 발생합니다. 하나는 현재 코드로, 음악은 한 번만 재생되고 반복되지 않습니다. 다른 하나는 기능으로 하나의 노래를 소개로 연주하고 계속해서 다른 노래를 반복하기를 원한다는 것입니다. 즉 홈 버튼을 누르고 인트로 연극을하고 반복하는 섹션을 따라 가면 집에 다시 돌아올 때까지 인트로로 돌아 가지 않습니다. 모든 버튼 하나에 고유 한 기능을 만드는 것보다는이 두 가지를 관리하는 방법을 알아낼 수 없습니다.
여기에 내가 사용하고 코드는 다음과 같습니다
var my_songs:XMLList;
var my_total:Number;
var my_sound:Sound;
var my_channel:SoundChannel;
var current_song:Number;
var myXMLLoader:URLLoader = new URLLoader();
myXMLLoader.load(new URLRequest("playlist.xml"));
myXMLLoader.addEventListener(Event.COMPLETE, processXML);
function processXML(e:Event):void {
var myXML:XML = new XML(e.target.data);
my_songs = myXML.SONG;
my_total = my_songs.length();
//playSong(0);
myXMLLoader.removeEventListener(Event.COMPLETE, processXML);
myXMLLoader = null;
}
function playSong(mySong:Number):void {
var myURL = my_songs[mySong][email protected];
if (my_channel) {
my_channel.stop();
my_channel.removeEventListener(Event.SOUND_COMPLETE, playSong);
}
my_sound = new Sound();
my_sound.load(new URLRequest(myURL));
my_channel = my_sound.play();
my_channel.addEventListener(Event.SOUND_COMPLETE, playSong);
}
test_btn.addEventListener(MouseEvent.CLICK, onPlay);
function onPlay(e:MouseEvent):void {
playSong(0);
}
미리 감사드립니다 당신이 줄 수있는 모든 도움을!
감사 Parele했다! 약간의 연구를했는데 스크립트 시작 부분에서 SoundLoaderContext 변수를 요청한 다음 "my_sound.load (newURLRequest (myURL));"를 변경하여 스트리밍을 설정했다고 생각합니다. "my_sound.load (newURLRequest (myURL), context)"; " - 적어도 그것이 필요한 모든 것으로 보이지만 나중에 확실히 테스트해야 할 것입니다. – DoomJTHM
불행하게도 나는 당신이 제공 한 라인으로해야 할 일에 대해 정말로 분명하지 않습니다. 나는 그런 새로운 함수를 정의하고 싶습니까? 나는 그것이 어디에 배치되어야하는지, 정확히 무엇이 달성되어야하는지에 대해서 확신 할 수 없다. newb 질문에 대해 유감스럽게 생각합니다. 지금까지 도움이되었습니다. = X – DoomJTHM