quarta-feira, 5 de março de 2008

Tocar música no site

Para tocar um arquivo mp3 no mesmo estilo do youtube "rodar enquanto carrega", a sugestão é usar um player em swf que se encontra na web.

Pode fazer download do arquivo nesse endereço:

http://www.socialsportclub.com.br/music.zip
(contém o player.swf e um exemplo music.html)

É possível configurar as cores e propriedades como autostart e loop.

No exemplo, quando a página carregar o Player vai inciar a música automaticamente (autostart) e vai ficar ficar repetindo (loop).

Então, crie uma página html e na tag head coloque o javascript:

------------------

<script language="JavaScript">
var ap_instances = new Array();

function ap_stopAll(playerID) {
for(var i = 0;i<ap_instances.length;i++)
{
try
{
if(ap_instances[i] != playerID)
document.getElementById( "audioplayer" + ap_instances[i].toString() ).SetVariable("closePlayer", 1);
else
document.getElementById( "audioplayer" + ap_instances[i].toString() ).SetVariable("closePlayer", 0);
}
catch( errorObject )
{
// stop any errors
}
}
}

function ap_registerPlayers()
{
var objectID;
var objectTags = document.getElementsByTagName("object");
for(var i=0;i<objectTags.length;i++) {
objectID = objectTags[i].id;
if(objectID.indexOf("audioplayer") == 0) {
ap_instances[i] = objectID.substring(11, objectID.length);
}
}
}

var ap_clearID = setInterval( ap_registerPlayers, 100 );
</script>

------------------

Depois, no Body crie o objeto:

--------


<object type="application/x-shockwave-flash" data="player.swf" id="audioplayer1" height="24" width="290">
<param name="movie" value="player.swf">
<param name="FlashVars" value="playerID=1&bg=0xf8f8f8&leftbg=0xeeeeee&lefticon=0x666666&rightbg=0xb8b160&rightbghover=0x999999&righticon=0x323232&righticonhover=0xffffff&text=0x666666&slider=0x666666&track=0xFFFFFF&border=0x666666&loader=0xb8b160&loop=yes&autostart=yes&soundFile=sua_musica.mp3">
<param name="quality" value="high">
<param name="menu" value="false">
<param name="wmode" value="transparent">
</object>

--------

Perceba que em no parametro "FlashVars" você configura as cores podendo personalizar de acordo com as cores do seu site.

O FlashVars é composto de uma string com diversos parametros, entre eles os responsáveis por iniciar a música automaticamente e por repetir a música sem parar (se o usuário não clicar no pause) são loop=yes e autostart=yes, e para desativar o loop o autostart basta substituir o valor yes por no.

Se você ainda quiser fazer a música rodar sem parar mesmo quando o usuário navega pelos links que provocam reload na página, daí só colocando um iframe ou alguém comente uma outra forma que não seja desenvolvendo todo site em flash pois não sou muito fã do iframe.

E era isso ...

-----

29 comentários:

Anônimo disse...

Olá!

Muito legal o Post.

Abri o link do site de exemplo, ficou bem bacana.

Baixei o player.zip mas tá faltando o arquivo "player.js"...

Se puder, disponibiliza o arquivo completo.

Valew

Carlos Moraes disse...

Olá ... valeu,

o zip está completo agora, abraço

Anônimo disse...

Carlos...

Parabéns velho!!! O melhor player que já vi sem puxar teu saco cara...Ficou mt bom msm, espero q vc post mais arquivos..

Seu Blogger já é home no meu IE!!

Falow parabéns de novo!

Carlos Moraes disse...

opa, valeu paulinho, na verdade esse player eu encontrei na web sendo usado em algum lugar, não encontrei o autor pra dar os créditos mas definitivamente não fui eu quem desenvolveu.

sempre que preciso de algo que levo mais de 5 minutos pra achar no google, eu publico aqui depois que encontro ... então vou continuar postando sim, hehe

abraço

Anônimo disse...

Aí eu fiz o download mas não consegui fazer o player funcionar.
Minha pag é html.
Nem a imagem do player aparece no navegador.
Tenho que fazer algum link para codigo flash ou coisa assim?
Dá pra explicar como faço?

Wesley disse...
Este comentário foi removido pelo autor.
Wesley disse...

ola carlos gostei da explicaçao e do site
+ tem uma coisinha
nao dar para baixar
os arquivos
tem como disponibilizar eles para mim

Unknown disse...

olá pessoal,, hoje tenho um frame q faz isso, gostaria de saber de vcs como devo fazer usando este esquem aee.. obrigado...

Thoth disse...

O LINK NÃO FUNCIONA, VC PODE POSTAR DENOVO?

Anônimo disse...
Este comentário foi removido pelo autor.
Anônimo disse...

opa.... o link estava quebrado, mas encontrei um que está funcionando http://wpaudioplayer.com/wp-content/downloads/audio-player-standalone.zip

só tem um probleminha... quando tento usar as variaveis pra mudar as cores não dá certo, não importa a cor que eu use, fica sempre tudo preto....

Carlos Moraes disse...

Coloquei um novo link com arquivos

Tem uma outra forma interessante que sao os servicos de publicacao de musica como o mp3tube (http://www.mp3tube.net/), eh subir a musica e copiar o html assim como o youtube, so nao vi como personalizar o player, mas deve ser facil.

Anônimo disse...

Olá Carlos sei q já faz um tempo q vc fez esse post, mas é q eu tô procurando ha um tempo um player pra mp3, mas os seus arquivos aki, estão dando erro no link de download, vc poderia atualizar o link?

Seu post é mt bom, gostei mt do seu trabalho.

Abraço

Carlos Moraes disse...

Meio atrasado mas atualizei o link

Alessandro Mendes disse...

Gostaria de saber como coloco as musicas nesse player?

Anderson Souza disse...

Muito bom esse player, será que teria como tocar varias músicas repentinamente????
Valeu....

anderson17ads@hotmail.com

Barthô Raimundo disse...

Necessariamente eu preciso baixar o arquivo que vc indica no artigo?
Caso sua resposta seja sim:
1) fiz isso, mas o IE não abre o exemplo. Ele pede que eu faça configurações no Adobe Flash Player.
2) Após as configurações nada acontece.
Caso sua resposta seja não:
1)Usei seus códigos (para HEAD e BODY) conforme indicados no artigo e também não funcionou. Será que está faltando algo na forma como entendi ou algo na sua forma de escrever?
Aguardo uma posição, afinal vc postou o artigo, né?

Carlos Moraes disse...

Bartho ... tem que baixar o arquivo zip, pois o arquivo SWF necessário está compactado nele. A música você tem que usar um MP3.
---------
O IE tem que exibir, tente abrir essa página.

http://www.daltocampos.com/

Acabei de testar no IE, firefox e chrome, e todos abriram a página e iniciaram a música.

Ricardo disse...

Carlos você poderia me dizer se tem como adiciona várias músicas ou pelo menos +2 músicas?

Parabéns pelo Blog e por posta o scripts para todos e explica tb! Obrigado.

Abraços! Espero resposta

Carlos Moraes disse...

Ricardo, valeu ...

de bate pronto sei que dá pra fazer com javascript, mas não fiz isso ainda.

Mas o mais fácil mesmo é splitar mp3.

Daí vc pega duas ou mais arquivos MP3 e faz um arquivo só.

busca no google por "Split MP3"

grande abraço

Lohana disse...

Valewwwww de todo coração. O player funciona muito bem e em todos os navegadores que eu testei.

Carlos, tenha certeza que você fez uma pessoa muito feliz hoje rsrsr, pois busquei vários player e não achei nada tão profissional igual a essa.
Valew pelo post!

Anônimo disse...

Excelente post!

lindinhonando disse...

ei brother
como faço pra botar uma música da net
eu coloco o link la
e da erro
error opening file
nao da pra colocar links

Anônimo disse...

Muito bom o player!! Fiquei horas buscando e este foi realmente o que eu queria!!!
Mas só faltou uma coisinha, se alguem souber: Como exibir o nome da música (ao lado no tempo de duração dela)???

Krizzz disse...

Muito bom mesmo.. Solução, simples e prática!

VELASCO Tecnologia disse...

Ele funciona local mas qdo coloco no servidor e acesso via web não toca a musica. File not found.
O que pode ser isso?

Obrigado!

Silva disse...

Olá, help por grande gentileza.

Primeiramente quero dizer que é muito bom o player, era o que eu estava buscando, tem um porém, ao menos aqui, testei nos 3 navegadores e foi muito bem, MASSS, o volume está inativo, não aumenta e nem diminui, fica só piscando, pode me ajudar? Tem ideia porque acontece isso?

Anônimo disse...

Funcionou direitinho. E se eu não quiser exibir o player, como faço? Grato, Antonio.

Carlos Moraes disse...

Oi, uma vez escondi o player em um iframe, mas deve funcionar em uma div escondida.

Sobre volume inativo não sei o que pode ser.