Metrônomo

Metrômono com variação de tempo e batidas.

Metrônomo

descrição do projeto

A interface conta com dois ajustes, sendo um de tempo, através de um input do tipo range, e um de batidas, através de um select com quatro opções (2, 3, 4, 6). Quando o botão 'Iniciar' é pressionado, a função 'startStop' verifica o estado de valor booleano 'playing', invertendo seu valor. Quando o input de tempo é alterado, a função 'handleBpmChange' é executada, alterando o estado 'bpm' com o novo valor e verificando o estado de 'playing', zerando o contador (estado 'count') caso o metrônomo esteja sendo executado. Na alteração no select de batidas, o estado 'beatsPerMeasure' é alterado com o novo valor. O script principal é executado dentro de um hook de efeito, que é tem, como dependências, os quatro estados da aplicação é alterado. Após a criação dos dois objetos de áudio ('click1' e 'click2'), é executada uma condicional para o estado 'playing' que, sendo verdadeiro, inicial um timer que alterna entre os dois sons, conforme o número de batidas selecionadas, em um intervalo de tempo compatível com o que foi selecionado no input correspondente.

Visite a página do projeto

Bora lá!

Bora lá!

Voltar

Voltar