이퀄라이저를 만들려고 mp3파일을 swf파일로 변환시켜서 로드무비했는데요..
플래시가 버벅거려요..
이퀄라이저는 잘 돌아가는데 그 외에 다른 메뉴라던가 이런게 움직일때 버벅거리고 느리고 이러네요
배경음악하고 이퀄라이저를 끄면 잘 되는데 키면 버벅거려요;
배경음악 swf파일 용량이 커서 그런가요? 8Mb 좀 못되거든여..
근데 로드무비를 빼고 비슷한 용량의 mp3를 로드사운드하면 잘 되요..
이틀동안 붙잡고 있다가 플생사모에도 질문 올려봤는데 답변두 없구ㅠ
해결 안되면 그냥 배경음악은 따로 로드사운드하고
이퀄라이저는 대충 폼만 내야할듯한데 맘에 안들어서;
밑에가 소스구여..
as3.0에서는 swf변환할 필요없이 mp3 바로 불러오는 방식이길래
플래시 cs3까지 다운받아서 해봤는데 그것두 안되구..
3.0에 전혀 문외한이라;;
시키는대로 액션 그대로 복사해서 넣었는데 에러가 수십줄;;
도와주세여ㅠ;;
function init(){
N = 4;
xStart = 3;
xSpace = 3;
yStart = 9;
eq_mc._visible = false;
snd.loadMovie("./gravity.swf");
isPlay = true;
}
//이퀄라이저 만드는 함수
function makeEq(){
for(var i=0; i<N; i++){
_mc = eq_mc.duplicateMovieClip("eq_mc"+i, i);
_mc._x = xStart + xSpace*i;
_mc._y = yStart;
_mc._height = 2;
}
}
//이퀄라이저 재생하는 함수
function moveEq(){
this.onEnterFrame = function(){
for(var i=0; i<N; i++){
_mc = this["eq_mc"+i];
if(isPlay == true){
_mc._height = Number(snd["s"+i])+ 2;
}else{
_mc._height += 0.2 * (2 - _mc._height);
}
}//for
}//onEnterFrame
}
function setBtnAction(){
onoff.onRelease = function(){
if(isPlay == true){
snd.stop();
isPlay = false;
}else{
snd.gotoAndPlay(1);
isPlay = true;
}//if
}//onRelease
}
init();
makeEq();
moveEq();
setBtnAction();
첫댓글 자세히는 몰르겠으나.. mp3를 swf로 변환을 왜 구지 하셨는지.. as3.0이 아니더라도.. 플래시에서 mp3를 임포트 시켜서 attachSound()를 사용하는 방법도 있는데요... 외부에서 mp3 불러들이는 방식두 있구요.. 일단 저방식 버벅거리는 이유가 파일이 없어서 정확히는 몰르겠는데..
첫줄에 써있듯이..이퀄라이저..사운드 스펙트럼을 만들기 위해서 변환했습니다. 사운드 자체와 이퀄라이저에는 버벅거리는 현상이 없구요..한시간을 켜놔도 사운드가 재생되고있는 동안에는 버튼이라든가 버벅거리기때문에 로딩문제일거같진 않지만..암튼..무비클립로더..시도안해본 방법이네요 한번 해보겠습니다. 감사합니다^^
loadMovie는 일단 파일을 불러들이면 바로 실행을 해버립니다 swf의 용량이 작으면 몰르겠으나 클경우 다 불러들여 지지도 않았는데 일단 불려들여지긴 했으니 실행시켜버리는거죠(플래시가 스트리밍방식이기 때문에) 그럼 완전 다운도 안된상태에서 계속 재생되면 버벅거릴 수가 있습니다. 로드무비방식을 써야한다면 loadMovie가 아닌 MovieClipLoader()를 쓰세요 loadMovie 와 프리로더와 짬뽕이라고 생각하시면 됩니다. MovieClipLoader 이놈은 불러들이기전 불러들인 후 불러들이는 동안 파일들을 제어할 수 있는 명령들을 포함 하고 있습니다. 요즘 loadMovie는 안쓰고 MovieClipLoader를 쓰는 추세입니다.
계정에서 mp3파일을 지원하지않는곳도있지않을까요;;;;
무슨 말씀이신지 잘^^;;