Bueno, pues aquÌ os podeis descargar ya el audiovideostreamer completo. Sus principales caracterÌsticas son:
La plantilla onStatusTemplate contempla todos los casos para NetConnection y para NetStream ( incluso aquellos que en este ejemplo no se van a dar nunca, como puede ser NetStream.publish pero asÌ ya la teneis )
el stream se empieza a reproducir con sÛlo pulsar en un tÌtulo de la lista
Cuando se empieza a reproducir un stream se muestran en pantalla unos campos de texto que nos indican el tÌtulo del stream, la duraciÛn del mismo y el tiempo que llevamos de stream.
Al finalizar de reproducirse el stream estos textos desaparecen. Adem·s si se trata de un stream de video, al terminar de reproducirse se pone a _visible=false con lo que nos evitamos que se quede en pantalla el ˙ltimo fotograma est·tico que hace muy feo.
Como se ve, la longitud del stream se obtiene desde el lado servidor con stream.length ( diferente forma si es flv o mp3 ), desde lado cliente llamamos a la funciÛn de servidor que lo obtiene y con onResult obtenemos la informaciÛn ( en segundos, hay que darla formato )
Muy importante. Con los tres videos que he elegido yo para hacer las pruebas, cada uno tenÌa un ancho y un alto diferente ( resoluciÛn del vÌdeo 160x120,240x180....)Si colocamos el objeto video en pantalla sin m·s, los vÌdeos se mostrar·n al mismo tamaÒo que el objeto video no importa cual sea su resoluciÛn. Esto produce escalamientos que adem·s no tienen proporcionalidad. El resultado es que se pierde gran calidad y que el vÌdeo hace efectos raros. Esto se ha solucionado con la funciÛn theSize, que le da al objeto video el tamaÒo de la resoluciÛn del vÌdeo. ( Esta resoluciÛn sÛlo se puede obtener desde lado cliente y una vez que ha empezado a reproducirse el video, por eso la obtenemos dentro del primer segundo de reproducciÛn y llamamos dentro de ese espacio a theSize que lo coloca todo bien )
Ojo, el control de vol˙men funciona en una pelÌcula exportada ( archivo swf ) si lo ejecutais desde el IDE de flash ( control+enter )no sube o baja vol˙men, una vez exportado sÌ. Esta forma de manejar el vol˙men de un stream la he visto en la web de la universidad Ryerson ( Canad· ) . AhÌ podeis encontrar m·s cosas sobre flashcom
Fallos, bugs.
-Hay dos sitios donde he hecho "hardcoded" por las prisas, en la prÛxima versiÛn ser· solucionado
-El que al finalizar el stream de video se borre la pantalla, viene determinado por recibir el evento buffer.empty, este evento no siempre se recibe ( de hecho en la lista de flashcom de chattyfig hubo un hilo sobre esto. hay personas que no lo reciben de ninguna manera ) por lo que a veces se quedar· el ˙ltimo fotograma visible.
-En la prÛxima versiÛn, los datos ( tÌtulos , nombres de los streams ,) se cargar·n desde un xml que vendr· de una base de datos.
En la foto se est· reproduciendo un stream de audio. Los campos de texto nos informan de cual es, tiempo, el status del stream y de la conexiÛn.
Bueno, lo puedes descargar aquÌ
Creo que m·s o menos lo he contado todo, si se me ha pasado algo y me acuerdo luego , pues pongo un comentario o ya me espero a la versiÛn definitiva. øCuando colgarÈ la versiÛn definitiva con todo funcionando perfecto? No se, cuando encuentre alguna tarde libre para dedicarme a ello. :D