Bruno... a maneira "programaticamente" mais correta, seria ler os metadados
dos tipos de arquivos citados. Para isso vc precisaria ler a respeito da
especificação de "header" de cada um deles.

Desconheço em AS3, classes que já façam isso. Mas, é perfeitamente possivel,
carregando os bytes dos arquivos citados na classe ByteArray e analisando-os
conforme suas especificações. Como exemplo, você pode estudar as classes
JPEGEncoder e PNGEncoder presentes na biblioteca AS3CoreLib (
http://code.google.com/p/as3corelib/) que servem para escrever um
flash.display.BitmapData de um DisplayObject nos formatos citados.

Em Java, creio que será mais fácil você encontrar algoritimos prontos. Nesse
caso, vale ler sobre a integração AS3/Java possibilitada pelo MERAPI (
http://www.merapiproject.net/).

Porém, existe uma forma de obter "aproximadamente" o mesmo resultado, embora
não seja a mais indicada....

Você pode usar a classe "flash.display.Loader" para carregar os arquivos
(JPG, PNG e SWF) e através da propriedade "loaderInfo"
(flash.display.LoaderInfo) obter a propriedade "content" e ler as
informações da classe "flash.display.DisplayObject" (width, height e no caso
do SWF a propriedade "totalFrames")

No caso do .FLV, você pode usar as classes flash.net.NetConnect e
flash.net.NetStream, que podem carregar tb arquivos locais. Não estou certo
quanto as informações que você poderá ler. Mas eu pesquisaria um pouco disso
tb. (OBS: Se você tivesse usando o Flash Media Server, que acho que não é o
caso, vc teria o evento onMetaData... estou falando isso só pra vc não achar
que esse evento vá funcionar no AIR lendo o arquivo diretamente OK?).

Lembre-se... esses carregamentos não serão "visuais" se vc não fizer um
addChild() em um "DisplayObject" (no caso do video, attachCamera() na
instância do NetStream). Ou seja, vc não precisa exibir os conteudos
carregados necessariamente.

Desculpe não mandar nenhum código. Estou tb na correria aqui com projetos
que tem dead-line essa semana.

Numa pesquisa rápida, achei isso quando ao SWF (ler header):
http://www.brooksandrus.com/blog/2006/08/11/lightweight-swf-header-reader-java-ii/

Outro link que pode ser util no caso de trabalhar com MetaData (integrar com
o MERAPI ou criar versão AS3):
http://code.google.com/p/jflvtool/

Dica: Nativamente no Java, você tem as classes javax.imageio.metadata.* Acho
que vc pode explorá-las para inclusive criar uma versão AS3 das classes Java
(teoricamente).

Detalhe... em ocasiões como essas que o projeto Alchemy (
http://labs.adobe.com/technologies/alchemy/) também se apresentaria bem,
permitindo compilar codigos pré-existentes para esses recursos em C++ em
bibliotecas SWC.

BOA SORTE E BOM TRABALHO!


Vicente Maciel Junior
RiaBrazil - Senior Rich App Developer
Independent Web Developer & Consultant
Adobe Advanced Certified Developer
Adobe Certified Instructor (ColdFusion & Flash Platform)
+55 71 8120-0035
MSN: [email protected] / Twitter: macieljr
http://www.riabrazil.com.br
http://teclandoalto.blogspot.com
Grupo de usuarios Oficial Adobe RIA-BA: http://bit.ly/ria-ba


2009/3/22 Bruno Brandão <[email protected]>

> Pessoal,
>
> Estou fazendo uma aplicação que preciso fazer upload de 4 tipos de arquivos
> diferentes: SWF, FLV, JPG, PNG e antes de continuar o upload precisava
> testar as seguintes informações:
> Caso SWF:
> - width
> - height
> - duração do SWF
>
> Caso FLV:
> - width
> - height
> - duração do FLV
>
> Caso JPG:
> - width
> - height
>
> Caso PNG:
> - width
> - height
>
> Alguém poderia me ajudar indicando ai o caminhos das pedras?
>
> Muito obrigado,
> --
> Bruno Brandão
> (71) 9909-3227
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a