Controlar áudio HTML5 com jquery

Facebook
Google+
Twitter
LinkedIn
Controlar áudio HTML5 com jquery

Controlar áudio HTML5 com jqueryConsiderações iniciais

Esta postagem é para aqueles que são programadores e criam seus próprios players.

Neste tutorial, vamos ver como controlar o áudio com jQuery. Isso é útil se você está prestes a desenvolver um player personalizado ou um aplicativo dinâmico que faz uso de várias mídias de áudio e deseja controlá-las com eficiência a partir do seu script jQuery.

Vamos começar a programar?

Até onde podemos controlar?

Bem, podemos controlar quase todos os recursos que o player HTML5 padrão fornece como reproduzir / pausar / aumentar / diminuir volume, ativar / desativar mudo etc. e funcionalidades adicionais como parar, avançar / voltar, etc. Portanto, se você tiver N números de arquivos de áudio em uma única página, e em vez de deixar o usuário lidar com N players de áudio, você pode fornecer uma interface eficiente e controlar o que tocar / parar, etc, com o jQuery, e até mesmo criar seu próprio player.

Controlar áudio HTML5 com jquery

A mídia de áudio:

Vamos usar o seguinte código como nosso código HTML5 para a mídia de áudio:

<audio class="audioDemo" controls preload="none"> 
   <source src="audio/pitbull.mp3" type="audio/mpeg">
   <source src="audio/music.ogg" type="audio/ogg">
</audio>

Mantivemos duas mídias, devido a problemas de compatibilidade em navegadores, para que uma alternativa seja carregada.

Carregando o áudio com jQuery:

Como você pode ver no código HTML5 acima, definimos a opção “preload” como “none”, o que significa que nenhuma informação sobre o arquivo de áudio será carregada no carregamento da página, nem o arquivo de áudio nem os metadados. Nós os faremos sozinhos do jQuery para aumentar o desempenho de carregamento da página. Vamos usar o seguinte código para carregar o áudio:

$(".audioDemo").trigger('load');

Também podemos adicionar ouvinte de evento para saber quando é carregado. No entanto, o evento será acionado imediatamente após os metadados carregados e o áudio começar a ser carregado. Mas não esperará até que o áudio carregue por completo, o que geralmente carrega sob demanda. Para fazer algo após o carregamento, use o seguinte código antes de acionar o evento de carregamento:

$(".audioDemo").bind("load",function(){
    $(".alert-success").html("Audio Loaded succesfully");
});

Reproduzir / Pausa / Parar Áudio:

Comece a reproduzir áudio e, para pausar, é bastante fácil de manusear. Basta ativar os eventos correspondentes conforme abaixo:

//starts playing
$(".audioDemo").trigger('play');
//pause playing
$(".audioDemo").trigger('pause');

No entanto, não há um evento pronto para interromper um áudio, portanto, será necessário fazer isso com a ajuda do evento ‘pause’ e outra propriedade chamada ‘currentTime’, que indica o tempo de reprodução atual. Aqui está o que vai fazer para parar:

function stopAudio(){
  //pause playing
  $(".audioDemo").trigger('pause');
  //set play time to 0
  $(".audioDemo").prop("currentTime",0);
}

Capacidade para frente / para trás:

O player HTML5 padrão não oferece essa facilidade, mas podemos facilmente criar essa funcionalidade com um pequeno código jQuery. Aqui está um pequeno código de exemplo para fazer isso:

//forward the music about 5 seconds
$(".audioDemo").prop("currentTime",$(".audioDemo").prop("currentTime")+5);
//backward the music about 5 seconds
$(".audioDemo").prop("currentTime",$(".audioDemo").prop("currentTime")-5);

Volume para mais / menos:

O player de áudio tem seu próprio “volume” corretamente, que pode ser controlado com o jQuery, conforme abaixo:

function volumeUp(){
    var volume = $(".audioDemo").prop("volume")+0.2;
    if(volume >1){
        volume = 1;
    }
    $(".audioDemo").prop("volume",volume);
}
 
function volumeDown(){
    var volume = $(".audioDemo").prop("volume")-0.2;
    if(volume <0){
        volume = 0;
    }
    $(".audioDemo").prop("volume",volume);
}

Precisamos continuar verificando se o volume atinge seu maior ou mínimo valor, caso contrário, o erro de exceção do JavaScript será lançado.

Mudo Ligado / Desligado:

Podemos desligar instantaneamente o áudio e ativar facilmente o nível de volume anterior com o uso da propriedade “silenciado”. Veja o código de exemplo abaixo, que realmente ativa o estado atual do mudo:

function toggleMuteAudio(){
    $(".audioDemo").prop("muted",!$(".audioDemo").prop("muted"));
}

Considerações finais:

Espero que este pequeno tutorial sobre o controle de áudio HTML5 com jQuery possa ajudá-lo a desenvolver aplicativos web orientados a áudio / música facilmente. Se você está tendo algum problema em executar qualquer exemplo ou com a demonstração, avise-me comentando aqui.

Fonte: http://codesamplez.com

Deixe uma resposta

Comunidade