Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Como ativar som ao clicar em um botão?
no ie isso funciona com este código:
function som_ie(){
document.getElementById('musica').play();
}
<embed id="musica" src="teste.wma" autostart="false" hidden="true"></embed>
<a href="java script: void(0);" onMouseOver="som_ie()">Som no IE</a><br/><br/>
-------------------------------------------------------------------------------------------------------------------
mas preciso rodar com mesmo efeito no netscape, consegui isso:
function som_netscape(){
document.writeln ('<embed src="teste.mp3" autostart=true hidden=true>');
}
<a href="java script: void(0);" onMouseOver="som_netscape()">Som no Netscape</a><br/><br/>
Funciona porém ele sai da página e toca o áudio!
preciso que ele permaneça na página e apenas toque o áudio!
alguém tem alguma sugestão??? OBG pela atenção!
<script>
function ativa_som(){
document.getElementById('divsom').innerHTML='<embed src="som.mp3" loop="1" hidden="true" autostart="true"></embed>';
}
</script>
Eu uso assim ai é só voce criar uma div com o id divsom.
OBS:Só funciona no Mozilla, Chrorme e no NetScape.
Pessoal, obrigado pela ajuda, mas acabei descobrindo uma forma de rodar no netScape, basta setar a tag em uma DIV com javascript e se precisar repetir é só chamar a função novamente ou setar o campo "loop" como "true" ou quantas vezes quer repetir.
segue o código:
function som_netscape(){
//O código abaixo cria uma tag: <embed id='som_net' name= 'som_net' src='som.mp3' loop= 'false' autostart='true' hidden='true' volume= '100'/>
var embed_som = document.createElement("embed");
embed_som.setAttribute('id', 'embed_som');
embed_som.setAttribute('name', 'embed_som');
embed_som.setAttribute('src', 'som.mp3');
embed_som.setAttribute('loop', 'false');
embed_som.setAttribute('autostart', 'true');
embed_som.setAttribute('hidden', 'true');
embed_som.setAttribute('volume', '100');
somdiv.appendChild(embed_som); //Coloca o elemento criado em uma DIV.
}
OBS: talvez não seja a melhor opção para um uso continuo (criando vários elementos), pois ele fica criando uma tag e chamando o mp3 sempre que for criado, sendo assim pode ficar um pouco lento, para começar a iniciar, mas foi uma tentativa legal de rodar no netscape.
Complementando:
Alex Menin também está certo!
Mas usar "innerHTML" não é muito bom pois alguns navegadores (IE), em alguns casos desconsideram a tag (raro mas acontece), então para garantir é melhor usar um elemento criado do zero...
troca a tag <A>, por um <SPAN>, e ai estiliza com css o cursor: pointer;