Ir para conteúdo

POWERED BY:

Arquivado

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

André - Editor

Autoresume no MediaDisplay Component

Recommended Posts

Estou controlando um MediaDisplay (componente do flash que carrega mp3 ou vídeo) e eu tenho dois botões que dão play e pause na música.

 

 

Tudo está funcionando perfeitamente, mas eu gostaria de saber se há como fazer o seguinte:

 

 

Eu tenho o flash no topo de uma página, aí, quando a página é recarregada ou se você troca pra outra página do site, a música começa do zero novamente. Queria que ele desse resume do exato momento em que parou, quando foi trocada a página.

 

Como fazer isso?

 

Estou usando AS2

 

Aguardo respostas e obrigado desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use sharedObject coloque o tempo da musica ou musica... nesse objeto... e quando mudar de página você vai rever esse valor e usar para dar play novamente na musica.

 

Para poder pegar o valor do atual da musica e continuar da onde estava tocando... você teria que criar algum tipo de controle javascript com o flash para poder fazer uma função enquanto está trocando... de página ou coisa parecida.

 

Mas para pegar a musica basta colocar no loop da musica que vai trocando para ir trocando o valor do sharedObject conforme muda de musica.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faaala berseck! Sempre você me ajudando! :D

 

Então cara, não tem várias músicas, seria apenas uma... Mas só tem como fazer via javascript mesmo? E como que é esse negócio de sharedObject aí? Não consegui entender bem...

 

 

Obrigado cara!

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

sharedObject se usa assim:

tutorial

 

O fato é que não tem como você fica quardando qual a posição da musica atual... a não ser que você use um onEnterFrame

Que pra mim não é lógico... e é abusar da memoria do computador do cliente.

 

Agora se você criar uma função javascript que dispara nos seus botões... de trocar de página... você pode pegar o seek da musica... e descobrir onde ele tava quando trocou de página...

 

E só mudar a página após pegar esse valor(coisa que eu acho meio burra de se fazer)...

 

O ideal mesmo... mesmo... pro seu caso é colocar um iframe em cima da página com o flash onde toca a musica ou em baixo.....

 

E só carregar o resto não o iframe.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

É cara, infelizmente essa opção do iframe não é possível. Trabalhamos com um sistema próprio na empresa que não trabalha com iframe... Vou tentar ver essa outra solução que você disse.

 

PS: em outros sites eu uso o XSPF Player, e ele tem uma opção de resume, que funciona muito bem. Será que você teria como dar uma olhada nele e ver se é algo muito complexo para se fazer?

 

Obrigado desde já pela ajuda e abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha sei como funciona isso ai não...

 

Mas por via das duvidas eu criei o seguinte código:

var notLoaded:Object = new Object();
notLoaded.valor =  "";

//Crio minha caixa de texto dinamicamente
var myText:TextField = this.createTextField('myText', this.getNextHighestDepth(), 20, 50, 80, 50);
//Crio o SharedObject
var so:SharedObject = new SharedObject();
//Crio o local onde vou adicionar o cookie
so = SharedObject.getLocal('frame');
function doUnload(){
    //Coloco um dado randomico como exemplo
    so.data.frame = Math.round(Math.random()*999);
    //Salvo
    so.flush();
}
//Observo se tem alguma modificação no valor
notLoaded.watch('valor', doUnload);

this.onEnterFrame = function(){
    //Mostro na tela o cookie quando iniciar o swf
    myText.text = so.data.frame;
    //Deleto o onEnterFrame após mostrar os dados
    delete this.onEnterFrame;
}

No flash ele vai ficar olhando se a variavel notLoaded tem alguma modificação... pode ser por js ou dentro dele mesmo para mudar o valor da musica

 

E então no javascript

Eu coloquei a seguinte função:

<script>
var movie = window.document["nome do swf"];
window.onunload = function(){
    movie.SetVariable('notLoaded.valor', 'verdadeiro');
}
</script>

Ai o que acontece toda vez que a página descarregar... mudar... etc.. ele vai pegar o valor do swf (no caso um valor randomico que eu coloquei) e vai guardar no sharedObject

Assim se por exemplo você quiser colocar ali o seek da musica você pode e ele vai fica guardando essa variavel :D

 

Abraços

 

*Obs: O código foi testado e realmente funciona colocando exatamente como está acima...

Compartilhar este post


Link para o post
Compartilhar em outros sites

E caso você seja assim como eu totalmente contra o uso de qualquer coisa no HTML :P

 

Adore mto inventar no flash

Eu fiz dessa maneira:

getURL("javascript:void(window.onunload = function() { var movie = window.document[\'index\']; movie.SetVariable(\'notLoaded.valor\', \'valor\'); });");

var notLoaded:Object = new Object();
notLoaded.valor =  "";

//Crio minha caixa de texto dinamicamente
var myText:TextField = this.createTextField('myText', this.getNextHighestDepth(), 20, 50, 80, 50);
//Crio o SharedObject
var so:SharedObject = new SharedObject();
//Crio o local onde vou adicionar o cookie
so = SharedObject.getLocal('frame');
function doUnload(){
    //Coloco um dado randomico como exemplo
    so.data.frame = Math.round(Math.random()*999);
    //Salvo
    so.flush();
}
//Observo se tem alguma modificação no valor
notLoaded.watch('valor', doUnload);

this.onEnterFrame = function(){
    //Mostro na tela o cookie quando iniciar o swf
    myText.text = so.data.frame;
    //Deleto o onEnterFrame após mostrar os dados
    delete this.onEnterFrame;
}

Que também funciona e ele já faz a chamada do javascript direto do flash e não precisa mexer em HTML gerado algum

 

Abraços :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

FAAL RAPA!!!

 

 

 

VALEU MESMO PELA AJUDA CARA!

 

 

Ese projeto tava parado e to retomando ele hj, vou testar já já!

 

 

MUITO OBRIGADO CARA! :D

 

Só uma pergunta, isso aí tá funfando em AS3 ou AS2???

 

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É cara, infelizmente essa opção do iframe não é possível. Trabalhamos com um sistema próprio na empresa que não trabalha com iframe... Vou tentar ver essa outra solução que você disse.

 

PS: em outros sites eu uso o XSPF Player, e ele tem uma opção de resume, que funciona muito bem. Será que você teria como dar uma olhada nele e ver se é algo muito complexo para se fazer?

 

Obrigado desde já pela ajuda e abraços!

 

 

Olá Andre

....sou novo no forum...resolvi entrar pq

estava procurando uma solução para o autoresume do XSPF player,

estou querendo fazer um site que toque uma musica, e que a musica nao volte para o inicio enquanto navego no site

você realmente conseguiu fazer o auto resume do XSPF player funcionar? pode me mandar endereço dos site pra eu ver? como você fez?

obrigado

Felipe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ixi cara acho que ele acabou é fazendo do jeito que eu ensinei ai em cima...

 

Mas entodo caso vamos ver o que ele responde ;)

 

Abraços

 

Bom ele falou que usa o XSPF em outro sites....se o autoresume rodasse seria o ideal...

mas em todo caso como seria solução com iFrame?

seria iFrame? ou "Frame" mesmo?

 

tipo o iframe na verdade seria para o contudo em si..e os elementos que nao mudam(no caso o som, menu e cabecalho) fiariam fora do iFrame.

é e isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aí cara, então eu uso o xspf mas dessa vez ai precisei usar um meu...

 

 

Mas o xspf tem uma versão com autoresume, da uma procurada ae... é bem tranquilo de usar.. e sobre iframe, basta você colocar o player num iframe onde ele nunca vai ser carregado novamente...

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.