Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
tenho um player em flash lógico...
e queria que este tivesse um botão com duas funções, assim:
o botão play e pause fosse um só, enquanto a música tiver tocando ele fica no formato de pausar, e quando estiver pausado fica no formato de play...
acho que deu pra sacar...
tambem precisava incrementar a parte do controle do volume, queria que quando eu clicasse em uma area do volume o mesmo respondesse, tipo do player do windows (WMP)...
será que alguem pode me ajudar...
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundMixer;
// Adicionando nossas variaveis.
var getMusica:URLRequest;
var music:Sound = new Sound();
var soundChannel:SoundChannel;
var currentSound:Sound = music;
var pos:Number;
var Cindex:Number = 0;
var somPlay:Boolean = false;
var xml:XML;
var somlist:XMLList;
var somVol:SoundTransform = new SoundTransform();
var ratio_volume:Number;
var SlideB:Rectangle = SlideM.getBounds(SlideM);
var xPos:Number = SlideB.x;
var yPos:Number = SlideB.y;
var widthPos:Number = SlideB.width-SlideM.slide_mc.width;
var heightPos:Number = 0;
var bounds:Rectangle = new Rectangle (xPos, yPos, widthPos, heightPos);
var loadIMG:Loader = new Loader();
var loadIMGR:Loader = new Loader();
// Carregando XML.
var loader:URLLoader = new URLLoader();
music.addEventListener(ProgressEvent.PROGRESS,Loadprogress);
loader.addEventListener(Event.COMPLETE, wLoader);
var URLRe:URLRequest = new URLRequest("musicas.xml");
loader.load(URLRe);
function Loadprogress(e:ProgressEvent):void {
var loadedPct:uint = Math.round(100 * (e.bytesLoaded / e.bytesTotal));
load_txt.text = loadedPct + "% concluído";
}
function wLoader (e:Event) {
xml = new XML (e.target.data);
somlist = xml.som;
getMusica = new URLRequest (somlist [0].url);
music.load (getMusica);
soundChannel = music.play();
musica_txt.text = somlist [0].musica;
}
// Eventos de próximo, anterior, pause, play e puxar os textos do XML.
prox_btn.addEventListener(MouseEvent.CLICK, nextsom);
ant_btn.addEventListener(MouseEvent.CLICK, prevsom);
pause_btn.addEventListener(MouseEvent.CLICK, pausesom);
function nextsom (e:Event) {
if (Cindex < (somlist.length() - 1)) {
Cindex++;
} else {
Cindex = 0;
}
var nextReq:URLRequest = new URLRequest (somlist[Cindex].url);
var music:Sound = new Sound(nextReq);
music.addEventListener(ProgressEvent.PROGRESS, Loadprogress);
soundChannel.stop();
musica_txt.text = somlist[Cindex].musica;
soundChannel = music.play();
somPlay = true;
currentSound = music;
soundChannel.addEventListener(Event.SOUND_COMPLETE, nextsom);
}
function prevsom (e:Event){
if (Cindex > 0){
Cindex--;
} else {
Cindex = somlist.length() - 1;
}
var prevReq:URLRequest = new URLRequest (somlist[Cindex].url);
var muscic:Sound = new Sound(prevReq);
music.addEventListener(ProgressEvent.PROGRESS,Loadprogress);
soundChannel.stop();
musica_txt.text = somlist [Cindex].musica;
soundChannel = music.play();
somPlay = true;
currentSound = music;
soundChannel.addEventListener(Event.SOUND_COMPLETE, nextsom);
}
function pausesom(e:Event){
pos = soundChannel.position;
soundChannel.stop();
somPlay = false;
play_btn.addEventListener(MouseEvent.CLICK, playsom);
}
function playsom(e:Event){
if (somPlay == false) {
soundChannel = currentSound.play(pos);
soundChannel.addEventListener(Event.SOUND_COMPLETE, nextsom);
somPlay = true;
play_btn.removeEventListener(MouseEvent.CLICK, playsom);
}
}
// SoundMixer.computeSpectrum.
var ba:ByteArray = new ByteArray();
// Cria o MC e adiciona ao palco.
var gr:Sprite = new Sprite();
var gr2:Sprite = new Sprite();
var blur:BlurFilter = new BlurFilter();
var filB:Array = new Array(blur);
gr.y = 90;
gr.x = 150;
gr.filters = filB;
blur.blurX = 5;
blur.blurY = 5;
blur.quality = 1;
addChild(gr);
var Mtime:Timer = new Timer (65);
Mtime.addEventListener(TimerEvent.TIMER, TCom);
Mtime.start();
function TCom(e:TimerEvent) {
SoundMixer.computeSpectrum(ba, true);
var i:int;
gr.graphics.clear();
// tamanho e cor da linha
gr.graphics.lineStyle(0, 0x333333);
// cor das barras
gr.graphics.beginFill(0xa6dd22);
// tamanho do width (largura) das barras
var w:uint = 3;
for (i=1; i<135; i+=w) {
var t:Number = ba.readFloat();
var n:Number = (t * 50);
gr.graphics.drawRect(i, 0, w, -n);
}
}
// Slide e Volume
SlideM.slide_mc.x = widthPos;
SlideM.mouseEnabled = false;
SlideM.slide_mc.buttonMode = true;
SlideM.slide_mc.addEventListener(MouseEvent.MOUSE_DOWN,dragSlide);
stage.addEventListener(MouseEvent.MOUSE_UP,stopSlide);
function dragSlide(e:MouseEvent){
e.target.startDrag(false,bounds);
addEventListener(Event.ENTER_FRAME, Volume);
SlideM.slide_mc.alpha = 0.8;
}
function stopSlide(e:MouseEvent){
SlideM.slide_mc.stopDrag();
SlideM.slide_mc.alpha = 1;
}
function Volume(e:Event){
ratio_volume = SlideM.slide_mc.x/widthPos;
somVol.volume = ratio_volume;
soundChannel.soundTransform = somVol;
}
este é o code da raiz do meu fla...
Carregando comentários...