Ir para conteúdo

POWERED BY:

Arquivado

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

shumi

Video - sincronia

Recommended Posts

Fala galera beleza?Galera to com um desafio muito bom e muito dificil para resolver! hauhauhauaComo consigo carregar um video externo e uma legenda externa também?sendo que se o video parar para carregar a legenda pare também...Abraços e Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala galera beleza?

Bom estava tentando aqui fazer e deu certo quase tudo, descobri que tem um bug e não consigo resolver! :-(

 

Vejam aqui está minha ActionScript

//Aqui importamos a classe FLVPlayback do pacote video, dentro de mx, o pacote dos componentes da Adobeimport mx.video.FLVPlayback;//Declaramos o componente visual video como instância da classe FLVPlayback, para assim facilitar na ajuda de scriptvar video:FLVPlayback;//Associamos os componentes customizados (custom ui para o FLVPlayback) às propriedades do componente video, um detalhe interessante é que caso queiramos utilizar um MovieClip totalmente personalizado, criado a partir de um desenho qualquer para que seja utilizado como botão de play, pause, mute, stop e playPause, para o componente FLVPlayback, é só convertermos esse desenho para MovieClip e associarmos da mesma forma que fazemos abaixo, afinal esses componentes prontos são MovieClips comuns (exceção aos bar)video.playPauseButton = playPause_mc;video.stopButton = stop_mc;video.seekBar = seek_mc;video.volumeBar = volume_mc;//Criamos um objeto array de nome legendas, por hora está vaziovar legendas:Array = new Array();//Criamos um objeto xml, para utilizarmos as informações que se encontram dentro do arquivo legendas.xmlvar xml:XML = new XML();//Pedimos para ignorar os espaços em branco do xml (tabulações e quebras de linhas) para que ele não os considere como nósxml.ignoreWhite = true;//Lemos o arquivo legendas.xmlxml.load("legendas.xml");//Ao ler o xmlxml.onLoad = function():Void  {	//O array legendas captura todos os dados contidos no primeiro nó(<legendas>)	legendas = this.firstChild.childNodes;	//Enquanto existirem nós dentro de legendas, adicione ao video um cuePoint, onde o tempo será o atributo segundo, e o nome será a descrição desse cuePoint, o filho respectivo desse nó 	for (var i:Number = 0; i<legendas.length; i++) {		video.addASCuePoint(legendas[i].attributes.segundo, legendas[i].firstChild.nodeValue);	}};//Criamos uma função chamada onCuePoint que não retorna nadafunction onCuePoint(obj:Object):Void {	//No campo de texto legendas_txt, apresentamos a informação nome, contida no video, através do método addASCuePoint(tempo, nome).	legendas_txt.text = obj.info.name;}//Adicionamos ao video, no evento cuePoint a função onCuePoint que indica o que fazer ao encontrar cuePointsvideo.addEventListener("cuePoint", onCuePoint);
e aqui meu XML

<?xml version="1.0" encoding="utf-8"?><legendas><legenda segundo="1">No chão</legenda><legenda segundo="3">Se montando...</legenda><legenda segundo="5">Montou</legenda><legenda segundo="7">Começa a dançar</legenda></legendas>
assim como está ta funfando certinho, mas quando no XML adiciono qualquer linha que tenha 2 digitos no "segundo" não aparece mais nada de texto! :-(

exemplo se coloco a linha assim:

<legenda segundo="10">Começa a dançar</legenda>
Da pau!

 

tem como vcs darem uma mão aqui, pois precisaria disso?

Segue o zip com todos os arquivos caso queiram ver!

 

 

Abraços e valeu!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce tem que fazer com que todos os numeros tenham 2 digitos. por exemplo.<?xml version="1.0" encoding="utf-8"?><legendas> <legenda segundo="02">Texto1. </legenda> <legenda segundo="07">Texto2. </legenda> <legenda segundo="09">Texto3. </legenda> <legenda segundo="11">Texto4. </legenda> </legendas>

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.