Comunidad de diseño web y desarrollo en internet online

Loop de sonido que no funciona!!

Citar            
MensajeEscrito el 07 Ene 2009 10:31 pm
Hola a todos!!...quisiera ayuda para arreglar unos loops, simplemente necesito un sonido que se reproduzca indefinidimante,para esto pongo esta simple linea:


Código ActionScript :

canal=sonido.play(0,int.MAX_VALUE);


Con esta linea el sonido ya se logra que suene indefinidamente pero el problema es que se nota cuando el sonido termina, es un mp3 muy bien editado como loop asi que no se deberia notar el cambio en la reproduccion y sin embargo se nota una pequeña pausa entre cada repeticion y necesito evitarla para que sea un sonido continuo si alguien pudiera ayudarme lo agradeceria mucho.

Por Angel Roberto

Claber

248 de clabLevel



 

safari
Citar            
MensajeEscrito el 07 Ene 2009 11:39 pm
ya probé eso de los loops y tienes razón, también sale ese sonido cortado cuando lo haces por importar a biblioteca, ahora bien, yo lo probé en CS3 asi que no se si en CS4 ya se halla resuelto eso, ahora no se si ya hallas intentado hacer un evento para cuando la canción acabe que inicie de nuevo y que no lo haga el método play()

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

firefox
Citar            
MensajeEscrito el 07 Ene 2009 11:42 pm
Dejame probar lo que mencionas del evento y te cuento.

Por Angel Roberto

Claber

248 de clabLevel



 

safari
Citar            
MensajeEscrito el 07 Ene 2009 11:53 pm
Probe el siguiente codigo con un .fla en blanco y obtuve exactamente el mismo resultado, acaso no hay forma de lograr un loop continuo. :shock:

Código ActionScript :

import flash.events.*;
import flash.media.*;
import flash.net.URLRequest;

var url:URLRequest;
var sonido:Sound;
var canal:SoundChannel;

url=new URLRequest("prueba.mp3");
sonido=new Sound(url);
canal=sonido.play();
canal.addEventListener(Event.SOUND_COMPLETE,de_nuevo);

function de_nuevo(e:Event) {
   canal=sonido.play();
   trace("fin");
}


El mp3 si esta bien editado de eso no hay duda.....Alguna Idea!!!

Por Angel Roberto

Claber

248 de clabLevel



 

safari
Citar            
MensajeEscrito el 08 Ene 2009 11:30 pm
haber intenta que empiece a reproducir uno o dos segundos antes de que termine

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

firefox
Citar            
MensajeEscrito el 09 Ene 2009 12:42 am
Ya probe defasar el sonido, un segundo es demasiado lo defase como un .0001% y el loop funciona bien el problema es que ese factor de defasamiento difiere de maquina a maquina dependiendo la capacidad de procesamiento, monto el codigo que use para defasarlo por si le sirve a alguien:

Código ActionScript :

import flash.events.*;
import flash.media.*;
import flash.net.URLRequest;
import flash.utils.Timer;

var url:URLRequest;
var sonido_1:Sound;
var canal_1:SoundChannel;
var loop:Timer;

url=new URLRequest("sonido.mp3");
sonido_1=new Sound(url);
sonido_1.addEventListener(Event.COMPLETE,cargado);


function cargado(e:Event) {
var duracion:int;
var temp:int;
trace("cargado","tamaño:",sonido_1.length);
duracion=sonido_1.length;
temp=duracion/1000;
duracion=temp*1000;
temp=duracion*.0001;
duracion-=temp;

trace(duracion);
loop=new Timer(duracion,0);
canal_1=sonido_1.play();
loop.start();
loop.addEventListener(TimerEvent.TIMER,playsound);
canal_1.addEventListener(Event.SOUND_COMPLETE,de_nuevo);
}


function playsound(e:TimerEvent){
   canal_1=sonido_1.play();
   trace("play");
   }


function de_nuevo(e:Event) {
   trace("fin");
}



Para defasarlo leo la duracion del sonido en milisegundos y la trunco al guardarla en un entero asi que si el sonido dura 8045.879875465 me deshago de esos decimales insignificantes ya que la duracion se expresa en milisegundos y por lo mismo que son milisegundos los hago segundos (expresados en milisegundos sin decimales) con estas lineas:

Código :

temp=duracion/1000;
duracion=temp*1000;

Con esa nueva duracion por medio de prueba y error le resto cierto porcentaje

Código ActionScript :

temp=duracion*.0001;
duracion-=temp;

Este porcentaje es variable en cada maquina ya que es demasiado pequeño, alguna idea por favor necesito sacar un loop perfecto en todas las maquinas del mundo XD

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Ene 2009 08:56 pm
Pues tienes razon, pero no se me ocurre nada para solucionarlo, aunque tengo ooootra pregunta ¿ya lo intentaste en CS4 o en flash 8?

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

firefox
Citar            
MensajeEscrito el 10 Ene 2009 12:14 am
No lo eh intentado en CS4 ni en el 8 pero en CS4 no puedo hacerlo, en la plataforma donde se va montar el archivo hay conflictos con los archivos publicados en CS4 no se si pase lo mismo con flash8 pero probare y te cuento.

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Ene 2009 06:13 pm
te voy a hacer trabajar, por que no intentas jalar el componente de sonido de un símbolo de biblioteca de una peli y despues lo jalas a otra peli e intentar hacer el loop con "exportar para compartir linea de tiempo"

diiiigo no se igual y eso funciona

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

firefox
Citar            
MensajeEscrito el 10 Ene 2009 07:01 pm
haber aca intentando, con un sonido de windows ya no me salio el error
intenta pasarme tu sonido haber si es ese el problema y aca lo reviso

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

firefox
Citar            
MensajeEscrito el 10 Ene 2009 09:01 pm
Voy a probar lo que mencionas del simbolo y eso :lol: .....sobre pasarte el sonido no se como hacerlo?? se puede por aqui o por correo??

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Ene 2009 09:09 pm
Oie disculpa mi ignorancia :oops: pero no supe hacer eso de exportar para compartir linea de tiempo, con eso te refieres a que jalo el sonido de la biblioteca de un archivo desde otro archivo y si es eso como lo hago?? :P

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Ene 2009 08:39 pm
ah mira sube el archivo a algun servidor y postea la liga yo aca bajo el sonido.

ahora para compartir linea de tiempo, tienes que en un fla colocar el sonido en la biblioteca, después tienes que darle en vinculación y luego de darle un nombre de clase tambien le das exportar para compartir linea de tiempo y los otros dos también, y luego en donde dice url le pones el nombre del archivo swf del cual vas a importar el sonido. y publicas

todo eso fue en el fla que exporta luego en el fla que importa primero mandas llamar el swf con un mcloader y luego accedes a las propiedades del swf y de alli jalas el sonido, y después juegas con el, intentando que corra correctamente.

pero te sugiero que primero me pases tu loop para revisarlo por que ya lo intente con otro sonido y no se oyó mal

bueno suerte una vez mas y aca siguo para ayudarte

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

firefox
Citar            
MensajeEscrito el 12 Ene 2009 03:44 pm
Tengo deshabilitado el servidor en cuanto pueda subirlo te mando el link.

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Ene 2009 03:49 pm

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Ene 2009 06:16 pm
ok descargando

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

firefox
Citar            
MensajeEscrito el 13 Ene 2009 07:25 pm
Sin descargar tu archivo, o ver a fondo tu code te planteo una solución. Si en la función que esta dentro de tu listener agregas algo parecido a esto:

Código ActionScript :

canal_1.addEventListener(Event.SOUND_COMPLETE,de_nuevo); 
//
function de_nuevo(event:Event) { 
   event.target.play();
}
Igual no lo he probado, pero me parece que debería funcionar.

Por M@U

BOFH

6210 de clabLevel

34 tutoriales
5 articulos

Genero:Masculino   Héroes Bastard Operators From Hell Editores

Bate jubilado de Cristalab

firefox
Citar            
MensajeEscrito el 14 Ene 2009 12:41 am
mmmmmmmmmmmmmm creo que ya lo habia probado

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

firefox
Citar            
MensajeEscrito el 14 Ene 2009 01:08 am
Si ya lo habia probado.

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Ene 2009 09:19 pm
sigo checando

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

firefox
Citar            
MensajeEscrito el 14 Ene 2009 11:09 pm
Hay

Bueno despues de muchos mp3's efectivamente esta mal tu loop, el archivo deja de darme ciertos picos de sonido, asi que mejor edita bien el archivo, yo probe con agregarle un poco de silencio, limpiar el loop y borrar el silencio, tengo un poco de silencio al principio y al final, pero los picos dejo de darlos.

Ahoa bien para hacer un loop necesitas que el final del archivo sea exactamente igual al principio, ahora bien, checa algun tuto parar aprender a hacer loops, yo lo cheque con adobe soundbooth asi que alli esta el problema.

Suerte yo aca sigo

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

firefox
Citar            
MensajeEscrito el 14 Ene 2009 11:19 pm
Gracias voy a mencionar eso, porque el sonido lo edito alguien mas se supone alguien que sabe de eso, checo eso y tecuento....Muchas Gracias!!

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Ene 2009 11:27 pm
Oie podrias mandarme el sonido que tu editaste para checarlo por favor.

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Ene 2009 06:25 pm
El sonido que yo edite, no es un loop, lo que hice fue que al sonido que me diste, le quite unos silencios y le agregue otros, entonces, cuando repite la canción se oye un silencio ; que fue el que le puse , pero ya no se oye el ruido que tenia.

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

firefox
Citar            
MensajeEscrito el 15 Ene 2009 06:27 pm
El sonido que yo edite, no es un loop, lo que hice fue que al sonido que me diste, le quite unos silencios y le agregue otros, entonces, cuando repite la canción se oye un silencio ; que fue el que le puse , pero ya no se oye el ruido que tenia.

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

firefox
Citar            
MensajeEscrito el 15 Ene 2009 07:39 pm
El sonido no es lo mio y no se a que te refieres con el ruido que tenia si al sonido original o a algun ruido que tenia el sonido.....Por el momento deje el loop con ese pequeño retraso aunque se aprecia un pequeño brinco todavia y el sonido sera reeditado. Gracias por darle seguimiento al problema!!

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Ene 2009 10:20 pm
De nada, no te preocupes por eso andamos aca! Suerte y si necesitas algo pues postealo! Bye

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.