Comunidad de diseño web y desarrollo en internet online

flvplayback source variable

Citar            
MensajeEscrito el 12 Ago 2010 05:55 pm
hola, buenas tardes;
desde ya les agradezco algun aporte, ya que soy un ignoto en as3, pero no me quedo otra que construir este reproductor de esta forma;
estoy construyendo un reproductor de video en as3, desde el que necesito cargar videos por medio de una url variable;

aqui mi codigo:

Código ActionScript :

var myVideo:FLVPlayback = new FLVPlayback();
myVideo.autoPlay = false;
myVideo.source = "miFlv.flv";
myVideo.width = 475
myVideo.height = 260
myVideo.fullScreenTakeOver = false;


donde dice

Código ActionScript :

myVideo.source = "miFlv.flv";


necesito colocar una variable que carge esto:

Código HTML :

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="476" height="262" id="player-og" align="middle">
            <param name="movie" value="player-og.swf?fileFLV=miFlv.flv" />
</object>


alguien puede guiarme sobre como generar la variable que carge el flv dentro de myVideo?
muchisimas gracias de antemano, como siempre!
saludos,
sebas.

Por flashodelico

80 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Ago 2010 06:22 pm
Prueba:

Código ActionScript :

myVideo.source = root.loaderInfo.parameters.fileFLV; 


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 12 Ago 2010 06:35 pm
BuenAS:

en la propiedad loaderInfo.parameters tienes un objeto que representa los parámetros que le has pasado al swf. Por ejemplo, si le has pasado el parámetro url="mi_pelicula.flv", tendrías

this.loaderInfo.parameters.url

que tendría el valor "mi_pelicula.flv".

Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 12 Ago 2010 06:52 pm
hola, muchisimas gracias por sus rapidas respuestas;
implementare sus propuestas, y luego comentare los resultados;

gracias, nuevamente!
saludos,
sebas.

Por flashodelico

80 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Ago 2010 07:26 pm
hola, espero no molestarlos con mis inquietudes,
pero no logre el resultado querido;
mi codigo quedo asi:

Código ActionScript :

var myVideo:FLVPlayback = new FLVPlayback();
myVideo.autoPlay = false;
myVideo.source = root.loaderInfo.parameters.fileFLV;
myVideo.width = 475
myVideo.height = 260
myVideo.fullScreenTakeOver = false;

//hago visible el video
addChildAt(myVideo, 0);


el html, quedo igual que como lo postee anteriormente;
al probarlo, carga el swf, pero no ejecuta el flv;


muy agradecido si me pueden guiar,
los saludo,
sebas

por las dudas, se que es tedioso, pero les paso el codigo completo de mi reproductor:

Código ActionScript :

//llamo a la clase video
import fl.video.*;
//llamo a la clase para eventos de video
import fl.video.VideoEvent;
import flash.events.MouseEvent;
import flash.display.Sprite;

//creo el objeto video
//llamo al flv
//le asigno propiedades
//asigno flv y le doy propiedades
var myVideo:FLVPlayback = new FLVPlayback();
myVideo.autoPlay = false;
myVideo.source = root.loaderInfo.parameters.fileFLV;
myVideo.width = 475
myVideo.height = 260
myVideo.fullScreenTakeOver = false;

//hago visible el video
addChildAt(myVideo, 0);

//asigno controlador
var mcControles:Sprite = new Sprite();
addChild(mcControles);
mcControles.x = 0;
mcControles.y = 252;
var vidSeekBar:MovieClip = new SeekBar;
mcControles.addChild(vidSeekBar);
myVideo.seekBar = vidSeekBar;
myVideo.volumeBar = mcVolumeBar;
addChild(mcVolumeBar);
mcVolumeBar.visible = false;
myVideo.playPauseButton = btPlayPause;
addChild(btPlayPause);
btPlayPause.visible = false;
myVideo.fullScreenButton = btFullScreen;
btFullScreen.visible = false;
addChild(btFullScreen);
barraFondo.visible = false;

//creo movieclip que contiene captura del video
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, onInit);

var loaderBoton:Loader = new Loader();
loaderBoton.contentLoaderInfo.addEventListener(Event.INIT, onInit);

var newContainer:Sprite = new Sprite();
var contenedorBoton:Sprite = new Sprite();
newContainer.addChild(loader);
contenedorBoton.addChild(loaderBoton);
addChild(newContainer);
addChild(contenedorBoton);

loader.load(new URLRequest("captura-video.jpg"));
loaderBoton.load(new URLRequest("bt_play_video.png"));

function onInit(event:Event):void {
   newContainer.width = 475;
   contenedorBoton.width = 136;
   contenedorBoton.x = (newContainer.width/2) - contenedorBoton.width/2;
   contenedorBoton.y = (newContainer.height/2) - contenedorBoton.height/2;
}

//creo la funcion que dispara el video
function playMovie(event:MouseEvent):void {
    myVideo.play();
}

//creo la funcion que muestra la captura
function showPosterFrame(event:Event):void {
    newContainer.visible = true;
   contenedorBoton.visible = true;
}

//creo la funcion que oculta la captura
function hidePosterFrame(event:Event):void {
    newContainer.visible = false;
   contenedorBoton.visible = false;
}

//creo la funcion para el rollover del boton central
function rolloverCaptura(event:MouseEvent):void{
   contenedorBoton.alpha = 0.5;
}

function rolloutCaptura(event:MouseEvent):void{
   contenedorBoton.alpha = 1;
}

function onOver(event:MouseEvent):void {
   btPlayPause.visible = true;
   btFullScreen.visible = true;
   barraFondo.visible = true;
   mcVolumeBar.visible = true;
   mcControles.x = 35;
   mcControles.y = 242;
   mcControles.scaleX = 0.7;
}
function onOut(event:MouseEvent):void {
   btPlayPause.visible = false;
   btFullScreen.visible = false;
   barraFondo.visible = false;
   mcVolumeBar.visible = false;
   mcControles.x = 0;
   mcControles.y = 252;
   mcControles.scaleX = 1;
}
stage.addEventListener(MouseEvent.MOUSE_OVER, onOver);
stage.addEventListener(MouseEvent.MOUSE_OUT, onOut);

//llamo al evento que oculta la captura para disparar el video
newContainer.addEventListener(MouseEvent.CLICK, playMovie);
contenedorBoton.addEventListener(MouseEvent.CLICK, playMovie);
contenedorBoton.addEventListener(MouseEvent.ROLL_OVER, rolloverCaptura);
contenedorBoton.addEventListener(MouseEvent.ROLL_OUT, rolloutCaptura);
myVideo.addEventListener(VideoEvent.PLAYING_STATE_ENTERED, hidePosterFrame);
myVideo.addEventListener(VideoEvent.COMPLETE, showPosterFrame);
myVideo.addEventListener(MouseEvent.ROLL_OVER, rolloverCaptura);
myVideo.addEventListener(MouseEvent.ROLL_OUT, rolloutCaptura);


// tiempo transcurrido del playhead
stage.addEventListener(Event.ENTER_FRAME, updateTime);

function updateTime (ev:Event):void {
   var elapsedSeconds = String(myVideo.playheadTime*10/5/2);
   var runTime:String = (elapsedSeconds > 3600 ? Math.floor(elapsedSeconds / 3600) + ":" : "") + (elapsedSeconds % 3600 < 600 ? "0" : "") + Math.floor(elapsedSeconds % 3600/60) + ":" + (elapsedSeconds % 60 < 10 ? "0":"") + elapsedSeconds % 60 ;
   elapsedTime.text = runTime;
   //trace("Elapsed time in minutes:seconds: " + runTime);
}

Por flashodelico

80 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Ago 2010 07:41 pm
Pon una caja de texto en el escenario, dale nombre de instancia muestra_txt, y agrega esto:

myVideo.source = this.loaderInfo.parameters.fileFLV;
muestra_txt.text = this.loaderInfo.parameters.fileFLV;

Debería aparecer en la caja de texto el valor, luego revisa tu HTML, pusiste el Object pero no el embed (es decir no te funcionará en IE creo) Lo mejor, us SWFObject http://code.google.com/p/swfobject/

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 12 Ago 2010 08:54 pm
jorge, gracias por responder tan rapido;
segui tu consejo y mi codigo quedo asi:

Código ActionScript :

var myVideo:FLVPlayback = new FLVPlayback();
myVideo.autoPlay = false;
myVideo.source = this.loaderInfo.parameters.fileFLV;
muestra_txt.text = this.loaderInfo.parameters.fileFLV; 
myVideo.width = 475
myVideo.height = 260
myVideo.fullScreenTakeOver = false;


pero obtuve este mensaje de error:

Código :

TypeError: Error #2007: El valor del parámetro text debe ser distinto de null.
   at flash.text::TextField/set text()
   at player_fla::MainTimeline/frame1()


entonces edite el as de esta forma:

Código ActionScript :

var myVideo:FLVPlayback = new FLVPlayback();
myVideo.autoPlay = false;
myVideo.source = this.loaderInfo.parameters.fileFLV;
var muestra_txt:TextField = new TextField();
muestra_txt.text = this.loaderInfo.parameters.fileFLV; 
addChild(muestra_txt);
myVideo.width = 475
myVideo.height = 260
myVideo.fullScreenTakeOver = false;


pero sigo obteniendo el mismo error;
si podes seguir guiandome, estaria muy agradecido;
con respecto al embed, por ahora lo agregare asi, y dps voy a ver si lo reemplazo con el swfObject;

muchas gracias!

Por flashodelico

80 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Ago 2010 09:30 pm
jorge!
perdon, pero me apresure;
si, obtuve el resultado que me dijiste que iba a obtener;
genere una caja de texto, que me devolvio el valor de la variable,
y agregue en el html el embed;
al verlo en el navegador, vi el swf, con el reproductor y el texto dentro;
pero sigo sin poder reproducir el video;
como me sugeris que siga?
muchas gracias!
saludos,
sebas.

Por flashodelico

80 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Ago 2010 10:03 pm
siento ser tan pesado, pero felizmente anduvo!
logre reproducir el video, aunque ahora tengo que ver
como recuperar ciertas funciones que, antes de ser dinamico,
funcionaban como ser la funcion de fullscreen, o show/hide poster;

si pudieses guiarme en estos puntos, estaria sumamente agradecido;
mientras voy investigando...
muchas gracias por la ayuda!
saludos,
sebas.

Por flashodelico

80 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Ago 2010 11:18 pm
Que la URL sea dinámica no afecta en nada al resto

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 13 Ago 2010 08:14 pm
bien, gracias, jorge!
ya lo tengo mas avanzado, pero en firefox no me funciona,
y en explorer no me toma el fullscreen;
seguramente debo tener mal algun parametro en el html;
me tomo el atrevimiento de pasartelo, para ver si me podes dar alguna idea,
sobre que estare haciendo mal;

Código HTML :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
   <head>
    <script type="text/javascript" src="swfobject.js"></script>
<script language="javascript"> AC_FL_RunContent = 0; </script>
<script language="javascript"> DetectFlashVer = 0; </script>
<script src="AC_RunActiveContent.js" language="javascript"></script>
<script language="JavaScript" type="text/javascript"></script>
<script LANGUAGE=JavaScript1.1 src="global.js"></script>
      <title>player-og</title>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <style type="text/css" media="screen">
      html, body { height:100%; background-color: #000000;}
      body { margin:0; padding:0; overflow:hidden; }
      #flashContent { width:100%; height:100%; }
      </style>
   </head>
   <body>
      <div id="flashContent">
         <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="475" height="260" id="player-og" align="middle">
            <param name="movie" value="player-og.swf?fileFLV=video_gancia.flv" />
            <param name="quality" value="high" />
            <param name="bgcolor" value="#ffffff" />
            <param name="play" value="true" />
            <param name="loop" value="true" />
            <param name="wmode" value="transparent" />
            <param name="scale" value="noscale" />
            <param name="menu" value="true" />
            <param name="devicefont" value="false" />
            <param name="salign" value="" />
            <param name="allowScriptAccess" value="always" />
                <param name="allowFullScreen" value="true" />
            <!--[if !IE]>-->
            <object type="application/x-shockwave-flash" data="player-og.swf" width="475" height="260">
               <param name="movie" value="player-og.swf?fileFLV=video_gancia.flv" />
               <param name="quality" value="high" />
               <param name="bgcolor" value="#000000" />
               <param name="play" value="true" />
               <param name="loop" value="true" />
               <param name="wmode" value="transparent" />
               <param name="scale" value="noscale" />
               <param name="menu" value="true" />
               <param name="devicefont" value="false" />
               <param name="salign" value="" />
               <param name="allowScriptAccess" value="always" />
                    <param name="allowFullScreen" value="true" />
                    <embed src="player-og.swf?fileFLV=video_gancia.flv" width="475" height="260">
            <!--<![endif]-->
               <a href="http://www.adobe.com/go/getflash">
                  <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
               </a>
            <!--[if !IE]>-->
            </object>
            <!--<![endif]-->
         </object>
      </div>
   </body>
</html>



muchas gracias!
saludos,
sebas

Por flashodelico

80 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Ago 2010 08:17 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 13 Ago 2010 08:36 pm
si, me lo habias dicho...
en el html lo puse en el head:

Código HTML :

<script type="text/javascript" src="swfobject.js"></script>


si pudieras decirme si lo estoy usando bien o no, y si la respuesta es no, como deberia usarlo, te lo agradeceria;
por el momento pude solucionar las dos cosas, tanto la visualizacion en FF, como el fullscreen en IE;
en FF, tenia mal un ID, y para verlo en fullscreen, en el AS tuve que colocar lo siguiente:

Código ActionScript :

var swfStage:Stage = stage;
// Set stage scale mode
swfStage.scaleMode = StageScaleMode.SHOW_ALL;
swfStage.align = StageAlign.TOP;


muchas gracias!
saludos,
sebas.

Por flashodelico

80 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Ago 2010 08:41 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 13 Ago 2010 08:45 pm
ah, ok, buenisimo!
ahora lo leere;
aprovecho para dar por terminado el post, ya que la consulta principal fue esclarecida (flv con source dinamica);
tengo otras consultas, pero, salvo que me corrijan, abrire otro post, ya que esta relacionado, pero es otra consulta, al fin y al cabo;

jorge, como siempre, has sido de gran ayuda, y me has guiado para aprender nuevos conceptos;
te saludo atte,
sebas.

Por flashodelico

80 de clabLevel



 

firefox

 

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