Importar swf para variável e abrir no componente devido

Delphi

28/03/2005

Turma. Aquele exemplo do swf com delphi realmente é muito bom.. Estou fazendo um monte de coisa com ele, porém estou querendo implementar algo que não sei como fazer...

Tenho um cd com alguns swf.. Gostaria de importar o conteúdo do swf pra dentro de uma variável e apontar o meu componente Shockwave1.movie := MinhaVariável..

Não sei se isso é possível ou como fazer... Não gostaria de ter q criar um arquivo externo em nenhuma pasta.. Queria que rodasse tudo no meu exe.

Pq estou querendo isso?? Pq meus swf estão alterados com um editor hexa e quero abrir os swf, trocar um cod q tem lá e esse cod alterado for mandado para o componente..

E aí? tendo essas informações, dá pra se fazer algo??

Valeus


Zenner

Zenner

Curtidas 0

Respostas

Marcelo Saviski

Marcelo Saviski

28/03/2005

Talvez [url=http://www.delphiflash.com/codelib.php?lev1=3]essa [/url]página te ajude

no exemplo, vc pode ver que ele carrega o Filme numa Stream e carrega no componente, vc pode usa como base e alterar os bytes nescessários na stream antes de passar para o componente


GOSTEI 0
Zenner

Zenner

28/03/2005

Legal. interessante..

Vou dar uma testada qdo chegar em casa...

eu troco os 3 primeiros caraceres q no swf são ´FWS´ para ´SWF´ o que faz o movie não funcionar...

Como poderia desfazer essa alteração em tempo de execução??


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

28/03/2005

const
  BytesTrocados: array[0..2] of Char = (´F´, ´W´, ´S´);
var 
  Stream: TMemoryStream; 
begin 
  Stream := TMemoryStream.Create;
  Stream.LoadFromFile(´Arquivo.swf´);
  Stream.Position := 0;
  Stream.Write(BytesTrocados, SizeOf(BytesTrocados));
  Stream.Position := 0;
  FlashPlayerControl1.PutMovieFromStream(Stream); 
  Stream.Free;
end;


não sei e isso funciona, não testei, só alterei o código dos exemplos da página


GOSTEI 0
Zenner

Zenner

28/03/2005

Muito legal mesmo.. Porém ancontrei m problemão...

Esse FlashPlayerControl é Demo e não poderei utilizar..

Estou utilizando o TSchockwaveFlash (Component, import activex, escolher Shockwaveflash e instalar)

Nele eu consigo fazer um monte de coisa.. tá tudo certinho, porém eu não consigo criar uma streem como vc me mostou e adicionar nele..

Como faremos pra que essa minha ideia funcione nesse componente¿


GOSTEI 0
Zenner

Zenner

28/03/2005

Achei outro problemão...

***** Utilizando o exemplo de importar o arquivo pra um stream *****

Fiz um exemplo utilizando o componente Demo e percebi que os fscommand q eu tenho pra tocar sons externos ao swf não funcionam.

Tenho uma pasta com todos os sons que utilizarei nas animações swf e nada funciona..


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

28/03/2005

Parece que com o ActiveX só da para carregar de arquivo,
bom, tem esses documentos da macromedia, talvez tenha algo neles: http://www.macromedia.com/support/flash/publishexport/scriptingwithflash/index.html


GOSTEI 0
Zenner

Zenner

28/03/2005

Valeu pelas dicas...

Vou ver o q faço por aqui.. Qualquer coisa adiciono outras dúvidas


GOSTEI 0
POSTAR