폴더를 뒤져보면 별 것들이 다 나오네요
심심하당ㅁㄴㅇㄹ
fla에는 라이브러리에 사운드 파일 있는거 빼고 암것도 안그렸습니다...
api 습관화는 중요합니당히힣
code
------------------------------
var _mysound:sound = new sound1 ;
_mysound.addeventlistener(ioerrorevent.io_error, _ifioerror_f);
var _mysoundchannel:soundchannel = _mysound.play();
var _mysoundtransform:soundtransform = new soundtransform(0.5,0.5);
var _mysoundchannelposition:int = _mysoundchannel.position;
var bytes:bytearray = new bytearray();
const _mysoundchannell:uint = 256;
var _playbtn:movieclip = new movieclip ;
var _stopbtn:movieclip = new movieclip ;
var _pausebtn:movieclip = new movieclip ;
var _msgtxt:textfield = new textfield ;
_playbtn.graphics.beginfill(0x00ff00,1);
_playbtn.graphics.drawrect(100,100,80,30);
_playbtn.graphics.endfill();
addchild(_playbtn);
_stopbtn.graphics.beginfill(0xffff00,1);
_stopbtn.graphics.drawrect(200,100,80,30);
_stopbtn.graphics.endfill();
addchild(_stopbtn);
_pausebtn.graphics.beginfill(0x00ffff,1);
_pausebtn.graphics.drawrect(300,100,80,30);
_pausebtn.graphics.endfill();
addchild(_pausebtn);
_msgtxt.width = 300;
_msgtxt.x = 100;
_msgtxt.y = 150;
_msgtxt.text = "왼쪽 부터 재생, 정지, 일시정지 \n 마우스를 좌우로 움직이면 팬값이,\n상하로 움직이면 볼륨이 조절됩니다.";
addchild(_msgtxt);
addeventlistener(event.enter_frame, soundload_f);
_playbtn.addeventlistener(mouseevent.click, function(){//시작 버튼
_mysoundchannel = _mysound.play(_mysoundchannelposition);
_mysoundchannel.soundtransform = _mysoundtransform;
//_mysoundchannel.addeventlistener(event.sound_complete, soundcompletehandler);
}
);
_stopbtn.addeventlistener(mouseevent.click, function(){
_mysoundchannel.stop();
_mysoundchannelposition =0;
}
);
_pausebtn.addeventlistener(mouseevent.click, function(){
_mysoundchannelposition = _mysoundchannel.position;
_mysoundchannel.stop();
}
);
var _txt:textfield = new textfield ;
function soundload_f(e2:event)
{
var _loadbytes:number = _mysound.bytesloaded / _mysound.bytestotal;
var _loadpercent:int = math.round(_loadbytes) * 100;
var _andtotallength:int = math.round(_mysound.length / (_loadbytes));
var _playbacklength:int = math.round(100 * (_mysoundchannel.position / _andtotallength));
_txt.x = _loadbytes * 100;
_txt.width = 500;
_txt.text = "sound file size:" + _mysound.bytestotal + " bytes \n"
+ "sound loaded " + _mysound.bytesloaded+" / " + _mysound.bytestotal + "bytes (" +_loadpercent+"%) \n"
+ _playbacklength + "% played now ("+ int(_mysoundchannel.position / 1000)+ " seconds)";
addchild(_txt);
soundmixer.computespectrum(bytes, true, 0);
var g:graphics = this.graphics;
g.clear();
g.linestyle(0, 0);
g.moveto(0, 400);
var n:number = 0;
// 왼쪽 채널-> 256개
for (var i:int = 0; i < _mysoundchannell; i++)
{
n = (bytes.readfloat() * 300);
g.lineto(i * 2, 400 - n);
}
g.lineto(0, 400);
// 오른쪽 채널 -> 256개
g.linestyle(0, 0x777777);
g.moveto(512, 400);
for (i = _mysoundchannell; i > 0; i--)
{
n = (bytes.readfloat() * 300);
g.lineto(i * 2, 400 - n);
}
g.lineto(512, 400);
}
function fin(event:event)
{
removeeventlistener(event.enter_frame,soundload_f);
}
stage.addeventlistener(mouseevent.mouse_move, ifmousemove_f);
function _ifioerror_f(event:event)
{
trace("_ifioerror_f: " + event);
_txt.text = "io오류가 발생했습니다.";
}
function setpan_f(pan:number)
{
var transformpan:soundtransform = _mysoundchannel.soundtransform;
transformpan.pan = pan;
_mysoundchannel.soundtransform = transformpan;
}
function setvolume_f(volume:number)
{
var _howtrans:soundtransform = _mysoundchannel.soundtransform;
_howtrans.volume = volume;
_mysoundchannel.soundtransform = _howtrans;
}
function ifmousemove_f(e:mouseevent)
{
var _halfstagewidth:uint = math.round(stage.stagewidth / 2);
var _mousex:uint = e.stagex;
var _mousey:uint = e.stagey;
var _value:number;
var _pann:number;
if (_mousex > _halfstagewidth)
{
_value = _mousex / _halfstagewidth;
_pann = _value - 1;
}
else if (_mousex < _halfstagewidth)
{
_value = (_mousex - _halfstagewidth) / _halfstagewidth;
_pann = _value;
}
else
{
_pann = 0;
}
if (_pann > 1)
{
_pann = 0;
}
var volumem:number = (_mousey / stage.stageheight) * 2;
setvolume_f(volumem);
setpan_f(_pann);
}
|