GustavoMZ 1 Denunciar post Postado Dezembro 13, 2009 Preciso de uma força para perceber onde está o erro, é o seguinte: Meu objetivo é passar uma variável PHP por FlashVars para um swf, estou usando o flash 8 com AS2. Dessa forma da certo: <param name="FlashVars" value="&videos/video1.flv&" /> <embed src="videos.swf" FlashVars="&videos/video1.flv&" Mas preciso passar dinâmicamente com PHP $caminho=videos/video1.flv; <param name="FlashVars" value="&video=<?=$caminho?>&" /> <embed src="videos.swf" FlashVars="&video=<?=$caminho?>&" Quando lá no flash executo um trace para ver se pegou a variável ele mostra o seguinte: <?=$caminho?> Como fazer para que o flash pegue o conteúdo da variável PHP? Compartilhar este post Link para o post Compartilhar em outros sites
hargon 64 Denunciar post Postado Dezembro 13, 2009 Seja bem-vindo ao Fórum GustavoMZ. Caso ainda não tenha lido as Regras do Fórum, clique aqui para conhecê-las. Poste o HTML que é gerado. Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Dezembro 13, 2009 O PHP não parece estar funcionando corretamente neste servidor. Ou tente colocar assim: <?php echo $caminho; ?> Compartilhar este post Link para o post Compartilhar em outros sites
GustavoMZ 1 Denunciar post Postado Dezembro 13, 2009 Obrigado pela força pessoal! Atualizei a página e peguei o código fonte gerado: <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6, 0,29,0" width="400" height="300"> <param name="movie" value="videos.swf" /> <param name="quality" value="high"><param name="SCALE" value="noborder" /> <param name="wmode" value="transparent" /> <param name="FlashVars" value="&video=videos/video1.flv&" /> <embed src="videos.swf" FlashVars="&video=videos/video1.flv&" width="400" height="300" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" scale="noborder" wmode="transparent" /></embed> </object> Para mim parece que está gerando o código normalmente... que mistério... O php está rodando local no easyphp, já tentei com echo também e não deu certo... Bom, se o html está sendo gerado corretamente não deve ser problema com o PHP. Mas quando dou um trace para ver se passou corretamente ele mostra isso: <?=$caminho?> Que coisa louca!!! Compartilhar este post Link para o post Compartilhar em outros sites
hargon 64 Denunciar post Postado Dezembro 13, 2009 Mas o TRACE não aparece no Browser. Onde você está recuperando o resultado do TRACE? Compartilhar este post Link para o post Compartilhar em outros sites
GustavoMZ 1 Denunciar post Postado Dezembro 13, 2009 Estou recuperando o resultado do trace dentro do próprio flash com control+enter. O código AS é o seguinte: meu_player2.scaleMode = StageScaleMode.NO_SCALE; var carrega:LoadVars = new LoadVars(); carrega.load("videos.php"); carrega.onLoad = function(success:Boolean) { if (success) { trace(carrega.video); //seu código caminho = carrega.video; meu_player2.contentPath = caminho; } else { trace("Falha ao carregar os dados"); } }; Compartilhar este post Link para o post Compartilhar em outros sites
hargon 64 Denunciar post Postado Dezembro 13, 2009 Usando FlashVars, basta você fazer assim no inicio da Action trace(video); Poste o resultado. Obs. da forma que está fazendo parece que não está "compilando" o arquivo.php no momento da leitura. Talvez se você colocar o endereço completo funcione: carrega.load("http://localhost/blabla.../videos.php"); Compartilhar este post Link para o post Compartilhar em outros sites
GustavoMZ 1 Denunciar post Postado Dezembro 13, 2009 Hargon, adicionei o trace da forma que você falou assim: trace(video); E retornou: undefined A mensagem de erro completa: undefined Error opening URL "file:///C|/Arquivos%20de%20programas/EasyPHP1%2D8/www/Sites/Vanderlei/<?=$caminho?>" Colocando o caminho completo: carrega.load("http://127.0.0.1/Sites/Vanderlei/videos.php"); Com o caminho completo retornou o seguinte erro: undefined undefined null url sent to VideoPlayer.load Compartilhar este post Link para o post Compartilhar em outros sites
GustavoMZ 1 Denunciar post Postado Dezembro 14, 2009 Acho que meu problema não tem nada a ver com php, pois passando a variável desta forma... <param name="FlashVars" value="&videos/video1.flv&" /> <embed src="videos.swf" FlashVars="&videos/video1.flv&" ... o video carrega apenas dando control+enter no flash, mas na página php o video não carrega. Já enviei os arquivos para um servidor remoto para testar e continuou a mesma coisa. As actions estão na camada superior e o FLVPlayBack está na camada inferior e ambos estão no primeiro frame. Talvez seja algo relacionado as configurações de publicação... Ou talvez seja a forma de receber essas variáveis... Ou então talvez atualizando para o CS3 funcione... Aguardarei algumas sugestões do pessoal aqui do forúm, se não der certo vou tentar com o CS3. É uma rotina relativamente simples de se fazer, mas aguma coisa está dando errado, dessa vez to apanhando feio do flash! rsrsrsrs! flash 10 a 0! Compartilhar este post Link para o post Compartilhar em outros sites
GustavoMZ 1 Denunciar post Postado Dezembro 14, 2009 Yaaahoooooo!!!!! consegui!!! o erro estava na forma de receber as variáveis!!! estava assim: carrega.load("videos.php"); carrega.onLoad = function(){ meu_player2.contentPath =this.video; }; E agora assim: var url = _level0.video; meu_player2.contentPath = url; Pessoal muito obrigado pela ajuda! Mas ainda gostaria que alguém por favor me explicasse porque não funciona do primeiro jeito e funciona do segundo, acho importante entender a lógica. Abraço a todos!!! Compartilhar este post Link para o post Compartilhar em outros sites