Ir para conteúdo

POWERED BY:

Arquivado

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

chraisy

delay entre diferentes swf dentro de uma webpage

Recommended Posts

Bom dia!

 

Em uma webpage tenho 3 filmes diferentes (swf) em posições diferentes, diferentes divs, que gostaria que fossem passados um após o outro, em sequencia.

 

Como posso fazer isso? Parece que tenho que usar javascript. Alguém pode me ajudar, por favor?

 

Abraço,

 

Christian

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ser feito sim com javascript. Para controlar o início do 2º e 3º vídeos, você deverá chamar uma função em javascript a partir do flash. Essa função em javascript irá criar o código HTML para implementação de outros vídeos em flash, assim que o anterior terminar.

 

Para chamar uma função em javascript a partir do flash:

getURL("java script:NomeDaFunção(parametros)");

Nesse caso, o comando acima irá chamar uma função em javascript que irá exibir o video2.swf, criando todo o código HTML para implementação do mesmo. Nesse caso, o vídeo2.swf não está sendo exibido (ou pausado), mas será exibido assim que o video1.swf terminar, pois o código HTML do video2.swf ainda será criado através da chamada da função em javascript.

 

Do mesmo modo, assim que o video2.swf terminar, a função javascript irá chamar o vídeo3.swf, criando dinamicamente o código HTML para inserção do video3.swf na página.

 

 

Segue o script:

<html>
<head>
<title></title>
<script type="text/javascript">
var local;
var video1 = "OFF";
var video2 = "OFF";
var video3 = "OFF";
var codeSWF;

function flash_w3c(arqflash,ident,largura,altura) {
//Se for o vídeo 1, exibir no span 1:
if (ident == "arquivo1") {
	local = document.getElementById("spanVideo1");
}else if (ident == "arquivo2") {
	local = document.getElementById("spanVideo2");
}else{
	local = document.getElementById("spanVideo3");
}

//Verificando se o navegador é o Internet Explorer
	if (window.navigator.appName == "Microsoft Internet Explorer") {
		codeSWF = '<object id="'+ident+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="'+largura+'" height="'+altura+'">';
//Se qualquer navegador for diferente do IE, executar o bloco abaixo		
	}else{
		codeSWF = '<object id="'+ident+'" type="application/x-shockwave-flash" data="'+arqflash+'" width="'+largura+'" height="'+altura+'">';
	}
		//Implementando o swf na página, com os parâmetros mais importantes.
		codeSWF += '<param name="allowScriptAccess" value="sameDomain">';
		codeSWF += '<param name="movie" value="'+arqflash+'">';
		codeSWF += '<param name="quality" value="high">';
		codeSWF += '<param name="salign" value="t">';
		codeSWF += '<param name="wmode" value="transparent">';
		codeSWF += '</object>';
		
		if (ident == "arquivo1" && video1 == "OFF") {
			local.innerHTML = codeSWF;
			video1 = "ON";
		}
		if (ident == "arquivo2" && video2 == "OFF") {
			local.innerHTML = codeSWF;
			video2 = "ON";
		}
		if (ident == "arquivo3" && video3 == "OFF") {
			local.innerHTML = codeSWF;
			video3 = "ON";
		}
		codeSWF = "";
}
</script>
</head>
<body>
<span id="spanVideo1"></span>
<span id="spanVideo2"></span>
<span id="spanVideo3"></span>

<br><br><input type="button" onClick="flash_w3c('agenda.swf','arquivo1','468','200')" value="Iniciar vídeo 1!"><input type="button" onClick="flash_w3c('agenda2.swf','arquivo2','468','60')" value="Iniciar vídeo 2!"><input type="button" onClick="flash_w3c('arquivo3.swf','arquivo3','468','60')" value="Iniciar vídeo 3!">
</body>
</html>

Nota: A função flash_w3c() será chamada (através do flash) para chamar o próximo vídeo, assim que o anterior terminar. Os parâmetros deverão ser passados de acordo com as características do seu filme, tendo esses parâmetros o modelo do que foi passado apenas como ilustração nos botões do código acima:

flash_w3c('agenda.swf','arquivo1','468','200');

 

Traduzindo:

NomeDaFunção('NomeArquivoSWF','idDoArquivo','Largura','Altura');

 

 

No momento, eu não sei te informar como dar um play, via javascript, em um SWF já criado na página, ou seja, tendo dois ou mais vídeos criados e pausados, assim que um terminar, dar play automaticamente no outro. Se alguém souber informar se isso é possível sem recarregar a página, eu também ficaria agradecido.

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.