Ir para conteúdo

POWERED BY:

Arquivado

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

Marcelo PHP

[Resolvido] envio de variáveis de uma query asp para o flash

Recommended Posts

Olá,

 

estou fazendo um site de vídeos onde terei um player em flash que rodará o vídeo escolhido pelo visitante.

 

O visitante irá clicar no link que mandará o código do vídeo para uma página asp que fará a consulta desse código em um banco de dados buscando o caminho e nome do arquivo do vídeo.

Posteriomente esses dados seriam enviados para o player flash que rodaria o vídeo.

 

Não consegui fazer com que o flash reconhece-se essas variáveis...Usei todos os loads que encontrei.

 

GRato pela ajuda

 

Marcelo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conforme o aviso existente no fórum de origem deste post, não é permitida a postagem de dúvidas nesta área, motivo pelo qual este tópico será movido para o fórum principal deste assunto.

 

Tópico Movido

 

Origem: Desafios (Flash) http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Destino: Flash & ActionScript

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use o flashvars ;)

 

Ai você vai passar os parametros por embed ao flash e poder pegar com LoadVars()

 

Ou então se não quiser re carregar o player faça uma re-chamada de dados via javascript

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente gostaria de agradecer por estar me ajudando.

 

Eu conheço pouco de scripts no flash, apenas uso o flash para fazer pequenas animações, então, tudo sobre isso eu tenho que pesquisar p saber como é feito.

 

Fui pesquisar o flashvars e vi que eu tenho que imprimir as variáveis na minha página:

<object data=”exemplo.swf?teste=Mensagem de teste” width=”550″ height=”400″ type=”application/x-shockwave-flash”>

Aqui no caso seria a variável teste.

 

Como o visitante terá que pagar para assistir aos vídeos nesse site, eu teria que mandar o caminho do vídeo de forma escondida para o flash rodar. Assim o visitante não descobriria aonde os vídeos estão hospedados.

 

A minha idéia seria enviar o código do vídeo para uma página ASP, essa fariar uma busca no banco de dados e criaria a variável do caminho e mandaria essa variável de forma escondida

ao player flash.

 

Abc e agradeço novamente a sua ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode sempre fazer o uso de LoadVars() buscando uma página em asp com os dados desse usuário e o video que ele vai assistir...

 

Assim você terá escondido o código para que ninguem saiba onde está, e no maximo se alguem tentar decompilar seu arquivo flash, vai ficar sabendo qual é o arquivo asp que você ta chamando... e assim você vai poder esconder os dados ;)

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia berseck,

 

eu já tentei usar o LoadVars() e simplesmente o player que eu descolei não reconheceu as variáveis. Mas acredito que caminho seja esse mesmo e vou tentar novamente.

 

Obg e abc

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um exemplosinho de como se faz:

var loader:LoadVars = new LoadVars();//Resposnsavel pela recuperação dos dados
var str:String = new String()//Variavel responsavel pelo video

//carrego o arquivo ASP
loader.load("arquivo.asp");

loader.onLoad = function(ok){
	if(ok){
		str = loader.filme;
	}else {
		trace('DIE!!!');
	}
}

Ai no arquivo asp você tem que printa = o echo do php

response.write = "&filme=código do filme&";

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

eu já havia tentando algo parecido mas simplesmente não funciona. Não carrega o vídeo.

 

Ai vai o código inteiro o arq. de video chama-se video.flv, se você puder me ajudar agradeço, pois estou a 3 dias nesse loadvars.

 

Abc

 

 

Flash:

 

var loader:LoadVars = new LoadVars();//Resposnsavel pela recuperação dos dados
var str:String = new String()//Variavel responsavel pelo video

//carrego o arquivo ASP
loader.load("busca_videos.asp");

loader.onLoad = function(ok){
	if(ok){
		str = loader.filme;
	}else {
		trace('DIE!!!');
	}
}

var _display:mx.controls.MediaDisplay;
var _control:mx.controls.MediaController;
var btPlay:MovieClip;
var btStop:MovieClip;
this.createTextField("_status", _root.getNextHighestDepth(), 18, 353, 1, 1);
_display.associateController(_control);
//_display.setMedia("video.flv", "FLV");

//var video="video.flv"

_display.setMedia(str, "FLV");

//Equivale 3 minutos e 57 segundos
_display.totalTime = 237;
_control.controllerPolicy = "on";
_status.autoSize = true;
_status.selectable = false;
_status.html = true;
_status.htmlText = "";
btPlay.useHandCursor = false;
btPlay.attachMovie("pause", "mcIcon", 0);
btPlay.onRelease = function() {
	if (!_display.playing) {
		_display.play();
		this._parent._status.htmlText = "";
		this.attachMovie("pause", "mcIcon", 0);
	} else {
		_display.pause();
		this._parent._status.htmlText = "";
		this.attachMovie("play", "mcIcon", 0);
	}
};
btStop.useHandCursor = false;
btStop.onRelease = function() {
	_display.stop();
	this._parent._status.htmlText = "";
	btPlay.attachMovie("play", "mcIcon", 0);
};
var evento:Object = new Object();
evento.complete = function() {
	trace("");
};
_display.addEventListener("complete", evento);

 

Código ASP:

 

<%

response.write = "&filme=video.flv&";

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde berseck,

 

o problema com o loadvars foi resolvido com algumas particularidades:

 

1) refiz o player no actionscript 2

2) a variável str ficava em branco fora do if onde fora criada. Então eu coloquei a frase que carrega o vídeo dentro do if

 

if(ok){
		str = loader.filme;
	   _display.setMedia(str, "FLV");
	}else {
		trace('DIE!!!');
	}
}

Muito grato pela ajuda.

 

Abc

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou abrindo novamente esse tópico pois não resolvi meu problema por completo.

 

Na realidade vou precisar pegar variáveis de 2 páginas:

 

1)uma página asp que conteria o caminho. Essa seria uma página estática que carregaria as variáveis do caminho escondido dos vídeos. (resolvido com o loadvars)

 

2) uma segunda página que me passaria o nome do vídeo a mostrar. Essa página eu pensei em usar o flashvars <param name="FlashVars" value="video=ttt.flv" /> mas a variavel vem em branco. Essa página tb teria que ser dinâmica, carregando sempre o mesmo código somente mudando o valor da variaval video.

 

Agradeço novamente a ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom desculpa mas não fui eu que coloquei resolvido :P

 

Que bom que resolveu...

 

E se tava em AS3 é claro que não ia abrir AS2 xD

 

Se tivesse me dito que tava em AS3 eu ensinava a fazer pq tenho player pronto disso em php... você teria de adaptar.

 

Quanto ao flashvars você pode pega a info assim _root.variavel do flashvars

 

Ou fazer um LoadVars tbm para pegar só que com o nome do arquivo principal dele..... exatamente como do asp mas buscando dessa vez a propria página onde ele se encontra.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Berseck,

 

eu não falei desse lance de actionscript porque simplesmente eu não sabia...Descobri posteriomente pesquisando.

 

Esse lance do _root.variavel eu já tentei e não funcionou. Me parece que ele não carrega a variável.

 

Só falta essa parte de carregar o nome do vídeo de qualquer página. Se você puder me ajudar novamente eu agradeço.

 

Ai vai o meu código que está em uma página ASP (para eu poder colocar o nome do vídeo escolhido). A variável se chama videoaa

 

<param name="allowScriptAccess" value="sameDomain" />

<param name="FlashVars" value="videoaa=ttt.flv" />

<param name="allowFullScreen" value="false" />

<param name="movie" value="player.swf?videoaa=ttt.flv" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /> <embed src="player.swf?videoaa=ttt.flv" FlashVars="videoaa=ttt.flv" quality="high" bgcolor="#ffffff" width="550" height="550" name="player" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />

 

No flash (sem o caminho escondido):

 

_display.setMedia(_root.videoaa, "FLV");

 

E nada o vídeo não carrega.

 

Abc e obg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa me intrometer, mas...

 

Como já dizia o Jack, vamos por partes.

 

1 - Você não precisa referenciar a variável junto com o swf, pode-se utilizar somente no FlashVars, ex:

...param name="FlashVars" value="videoaa=ttt.flv" />
<param name="movie" value="player.swf" />
<embed src="player.swf" FlashVars="videoaa=ttt.flv" ...

2 - No seu caso não dá para testar com o "trace" se a variável está chegando corretamente, então para testar, crie uma cx de texto dinâmica logo onde deverá ser carregado a variável no seu código, ex:

var myVar:String = _root.videoaa;
this.createTextField("txtVar", 100, 0, 0, 300, 100);
txtVar.text = myVar
Publique seu filme e teste no navegador. Veja se na caixa de texto criada aparece o nome utilizado na variável. Caso sim, a variável está chegando corretamente.

 

3 - Se até aqui tudo certo e ainda não roda o filme, tente inserir diretamente o nome do filme para testar:

_display.setMedia("nome_do_arquivo.flv", "FLV");

4 - Se ainda assim não funciona, verifique se os caminhos dos filmes (FLV) estão corretos (mesmo nível/pasta).

 

Abs.

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.