Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Akroma

ProgressBar para mp3

Recommended Posts

Bom dia pessoas!

 

Estou com um problema, preciso desenvolver um player para mp3 que tenha um progressBar daquele que clica vai para a música e talz... não tenho ideia de como fazer... consegui fazer ele andar conforme o tempo ( mas mesmo assim não ficou bom porque ele ia indo indo indo sem uma proporção com a minha barra)

 

Aqui o código que eu tenho

 

_root.onEnterFrame = function() {
	
	//Música já carregada
	
	
	//Variavel que pega o tempo da música
	pegaTime = som.position / 1000;
	trace(som.position / 1000);
	
	//Faz andar a barra
	if(base_btn.LoaderBar.maskTotal._x < 291) {
		
		base_btn.LoaderBar.maskTotal._xscale *= ( pegaTime / 2 ) ;
	
} else {
	
	base_btn.LoaderBar.maskTotal._x = 291

	}
}

Se alguem tiver alguma ideia :D

 

Obrigada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa... Obrigada me ajudo muito ( inclusive com o volume que eu estava com problemas)

 

Só mais uma coisa ... lá você mostra como colocar o tempo atual... como eu faço para ele ver o tempo total?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi... não consegui arrumar :(

 

Mas esse é o menor dos meus problemas Hoje.

 

Esse player na verdade é um Slide Show onde tenho um menu do lado, clicando lá, ele vai automaticamente para x parte do video e pronto, essa parte eu consegui fazer fácil, o que não estou conseguindo fazer é ele pegar o tempo do slide e fazer ele aparecer automáticamente!

 

//Duplica os MCS. e carrega de acordo com os nós	
for(i=0; i< total; i++){
		
	mc_Imgs = arquivo.childNodes[1].childNodes[i].attributes.imagem;

	//Essa linha duplica o Menu lateral
	var mc_atual = mcVazio.Mslide.duplicateMovieClip("container"+i, total - i,{_y: (i * 25) + 1});
	
		
	mc_atual.NomeSlide.text = arquivo.childNodes[1].childNodes[i].attributes.slide;
	mc_atual.btnSlide.TempoSlide = arquivo.childNodes[1].childNodes[i].attributes.tempo;
	mc_atual.btnSlide.Img = arquivo.childNodes[1].childNodes[i].attributes.imagem;
	
	var TempoMp3:Number = arquivo.childNodes[1].childNodes[i].attributes.tempo;
	
/*onEnterFrame = function() {
	
	
	 trace("Tempo Xml " + TempoMp3)
	 trace("Posição da Música" + som.position)
 if(this.TempoSlide == som.position) {
	
	_root.targetMc.loadMovie(this.Img)

}
}
	*/
	
	
	
	
	
//Btn do slide
mc_atual.btnSlide.onRelease = function(){ 

	_root.targetMc.loadMovie(this.Img)
	som.start(this.TempoSlide);
	
}


}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando foi que Player MP3 viro slide? O_O

Onde foi que perdi?

 

Para pegar o tempo do slideshow acredito que seja um SWF pegue o _totalframes dele e ai faça o calculo pelo frame rate

Frame rate normalmente é 12 frames por segundo

 

Então se o total for de 120 ele tem 1 minuto certinho.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai meu Deus eu não me expliquei direito

 

Bom é o seguinte, eu pego o XML o cliente Sobe uma musica em mp3 e varias imgs ( colocando nela em que momento da música ele vai aparecer)

 

Ai fiz um player e coloquei os botoes para selecionar o slide desejado isso funcionou lindo... eu clico ele leva a música para o tempo e mostra a imagem!

 

O que eu não consigo fazer é ele ler o xml e saber que no segundo 3 aparece a imagem X.

 

Tendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faria assim:

 

Colocaria todos os tempos em 1 array perguntando se já ta naquele tempo com o if colocando o dado do tempo perguntando se existe na array

Se for encontrado ele vai mostrar a foto X e adicionar + 1 ao contador... assim sempre vai mostrar a proxima foto.

 

Mas ai vai bugar se por exemplo a pessoa

clicar para voltar na musica...

 

Ai se vai ter que fazer um if que vai se o cara clicar na musica vai alterar o contador tbm...

 

Vai dar um trabalhinho fazer isso :)

 

Boa sorte.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

è vou tentar descobrir como faz isso... obrigada viu!!!

 

Bjus

 

function carrega() { 
	musica = arquivo.childNodes[0].childNodes[i].attributes.link;
	//target.loadMovie(arquivo.childNodes[1].childNodes[i].attributes.imagem);
	
	
	
//Duplica os MCS. e carrega de acordo com os nós	
for(i=0; i< total; i++){
		
	mc_Imgs = arquivo.childNodes[1].childNodes[i].attributes.imagem;

	//coloca os tempos no array ja criado lá em cima
	Tempo = new Array();
	Tempo[i] = arquivo.childNodes[1].childNodes[i].attributes.tempo;
	trace(i + " "+ Tempo[i])
	
	//Essa linha duplica o Menu lateral
	var mc_atual = mcVazio.Mslide.duplicateMovieClip("container"+i, total - i,{_y: (i * 25) + 1});
	
	
	mc_atual.NomeSlide.text = arquivo.childNodes[1].childNodes[i].attributes.slide;
	mc_atual.btnSlide.TempoSlide = arquivo.childNodes[1].childNodes[i].attributes.tempo;
	mc_atual.btnSlide.Img = arquivo.childNodes[1].childNodes[i].attributes.imagem;
	
	

onEnterFrame = function() {
	
	if(Tempo[i] == som.position) {
		
		trace ( "certo" );
	}
	
}

Bom.. eu fiz desse jeito ( inicialmente pra depois fazer os outros if de quabdo a pessoa usar o contador )

 

 

O problema ele não identifica os numeros pra trocar a imagem :(

 

function carrega() { 

	musica = arquivo.childNodes[0].childNodes[i].attributes.link;
	//target.loadMovie(arquivo.childNodes[1].childNodes[i].attributes.imagem);
	
	
	
//Duplica os MCS. e carrega de acordo com os nós	
for(i=0; i< total; i++){
		
	mc_Imgs = arquivo.childNodes[1].childNodes[i].attributes.imagem;
	
	
	
	
	//Essa linha duplica o Menu lateral
	var mc_atual = mcVazio.Mslide.duplicateMovieClip("container"+i, total - i,{_y: (i * 25) + 1});
	
	
	mc_atual.NomeSlide.text = arquivo.childNodes[1].childNodes[i].attributes.slide;
	mc_atual.btnSlide.TempoSlide = arquivo.childNodes[1].childNodes[i].attributes.tempo;
	mc_atual.btnSlide.Img = arquivo.childNodes[1].childNodes[i].attributes.imagem;
	
	var Ttempos:Array = arquivo.childNodes[1].childNodes[i].attributes.tempo;
	var Oslice = Ttempos.slice(0,total);

	
	
onEnterFrame = function() {
	trace("Slice " + Oslice * 100  );
	trace("Som " +  Math.round(som.position));
	if(Math.round(som.position) == Oslice * 100) {
		
		trace( "aqui" )
	
} else { trace("errado") }
}

Fiz assim tb... mas não funciona :(

 


function apareceImagem() {
i = 0;
var TempoX:Number = arquivo.firstChild.childNodes[1].childNodes[i].attributes.tempo;
var SlidesImg:Array = arquivo.firstChild.childNodes[1].childNodes[i].attributes.imagem;

trace(TempoX)


_root.onEnterFrame = function() {
	
trace(Math.round(som.position/100));
trace(TempoX)
	
if( i==1 ) { 


		if(Math.round(som.position/100) == TempoX * 10) {
			targetMc.loadMovie(SlidesImg)
			trace( "DEU CERTO OBAAAAAAAAAAAAAA")
			i++;
			trace( "Primeiro if i = " + i);
	}
}

}

 if(i==2) {
	
	 if(Math.round(som.position/100) == TempoX * 10) {
			targetMc.loadMovie(SlidesImg)
			trace( "DEU CERTO ihuuuuuuuu")
			i++;
			trace( "Primeiro if i = " + i);
		}
 }

}

BOm fiz esse if, mas ele só pega o primeiro mesmo eu incrementando 1 no i ele não funciona.

 

Alguem poderia me ajudar?

 

Bjus

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.