Você está aqui: JavaScript ::: Web Audio API ::: OscillatorNode |
Como criar um oscilador de onda senoidal em JavaScript usando a Web Audio API e um OscillatorNodeQuantidade de visualizações: 475 vezes |
Nesta dica mostrarei como podemos usar a Web Audio API, em particular um nó OscillatorNode, para criar um oscilador de onda senoidal em HTML e JavaScript. Um oscilador de onda senoidal usa a função seno ou senóide para a representação do som. Veja na imagem abaixo a representação de um som no formato senoidal: Quando criamos um OscillatorNode nós temos que informar o contexto de áudio (um objeto AudioContext), o formato da onda e a frequência em Hz. Em nosso exemplo eu coloquei a frequência em 440 Hz, representando a nota Lá na quarta oitava do piano. Depois do código há uma explicação mais detalhada sobre a frequência, comprimento e amplitude de uma onda senoidal. Veja o código JavaScript completo para exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <!doctype html> <html> <head> <title>Como criar um oscilador em JavaScript</title> </head> <body> <h3>Clique o botão Iniciar para iniciar a execução do Oscilador</h3> <button id="iniciar_btn" onclick="iniciar()">Iniciar</button> <button id="parar_btn" disabled="disabled" onclick="parar()">Parar</button> <script language="javascript"> 'use strict'; // obtemos referências para os botões de iniciar // e parar o oscilador var btn_iniciar = document.getElementById("iniciar_btn"); var btn_parar = document.getElementById("parar_btn"); // vamos declarar o contexto de áudio var contexto; // para representar o oscilador var oscilador; // função usada para iniciar o oscilador de onda // senoidal function iniciar(){ // vamos criar um objeto AudioContext var AudioContext = window.AudioContext || window.webkitAudioContext; // e obtemos o contexto de áudio contexto = new AudioContext(); // vamos criar o oscilador na frequência // de 440Hz oscilador = new OscillatorNode(contexto, { type: 'sine', frequency: 440 }); // conectamos o oscilador à saída oscilador.connect(contexto.destination); // e começamos a fazer barulho oscilador.start(); // vamos desabilitar o botão de iniciar btn_iniciar.disabled = true; // vamos habilitar o botão de parar btn_parar.disabled = false; } // função usada para interromper o oscilador function parar(){ // vamos interromper o oscilador oscilador.stop(); // vamos desabilitar o botão de parar btn_parar.disabled = true; // vamos habilitar o botão de iniciar btn_iniciar.disabled = false; } </script> </body> </html> A frequência descreve o número de vibrações por unidade de tempo, ou seja, quantos ciclos completos a onda percorre em uma unidade de tempo, que pode ser o segundo, o minuto ou qualquer outra unidade que você achar conveniente. A unidade que usaremos para descrever as frequências é o Hertz (Hz). 1 Hz corresponde a um ciclo de vibração por segundo. Por exemplo, quando colocamos um diapasão na forma de garfo em vibração, suas hastes vibrarão a uma frequência de 440 Hz, ou 440 ciclos por segundo, correspondentes à nota musical Lá. Essa nota pode ser perfeitamente descrita pela sua frequência (440 Hz), comprimento de onda (0,77 m) e uma amplitude que vai depender da energia utilizada para colocá-lo em vibração e que descreve a intensidade da variação da pressão do ar. |
Link para compartilhar na Internet ou com seus amigos: |
JavaScript ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o comprimento da hipotenusa em JavaScript dadas as medidas do cateto oposto e do cateto adjascenteQuantidade de visualizações: 877 vezes |
Nesta dica mostrarei como é possível usar a linguagem JavaScript para retornar o comprimento da hipotenusa dadas as medidas do cateto oposto e do cateto adjascente. Vamos começar analisando a imagem a seguir: Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos a fazer a converter esta fórmula para código JavaScript. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Estudos JavaScript</title> </head> <body> <script type="text/javascript"> var a = 20; // medida do cateto oposto var b = 30; // medida do cateto adjascente // agora vamos calcular o comprimento da hipotenusa var c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2)); // e mostramos o resultado document.writeln("O comprimento da hipotenusa é: " + c); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: O comprimento da hipotenusa é: 36.05551275463989 Como podemos ver, o resultado retornado com o código JavaScript confere com os valores da imagem apresentada. |
JavaScript ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string em um valor de ponto-flutuante em JavaScript usando a função parseFloat()Quantidade de visualizações: 7774 vezes |
Em algumas situações nós precisamos receber uma string informada pelo usuário e convertê-la para um valor real válido. Um valor em JavaScript é o mesmo que um valor com casas decimais, ou seja, um valor de ponto-flutuante. Esta tarefa pode ser realizada com o auxílio da função parseFloat(). Veja uma página HTML completa demonstrando o seu uso: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <!doctype html> <html> <head> <title>Strings em JavaScript</title> </head> <body> <script type="text/javascript"> var valor1 = "87.32"; var valor2 = "Arquivo"; var valor3 = "65,54"; // vamos exibir os resultados document.write(parseFloat(valor1) + "<br>"); document.write(parseFloat(valor2) + "<br>"); document.write(parseFloat(valor3)); </script> </body> </html> Ao executarmos este código JavaScript nós teremos o seguinte resultado: 87.32 NaN 65 Note que apenas a primeira string pôde ser convertida para um valor fracionário com sucesso. |
JavaScript ::: Desafios e Lista de Exercícios Resolvidos ::: JavaScript Básico |
Exercício Resolvido de JavaScript - Como somar dois números em JavaScript - O operador de adição da linguagem JavaScriptQuantidade de visualizações: 1444 vezes |
Pergunta/Tarefa: Escreva um programa JavaScript para somar dois números, ou seja, dois valores numéricos inteiros. O usuário deverá informar os dois valores. Para efetuar a leitura dos números você pode usar a função window.prompt() e, para exibir o resultado, use a função window.alert(). Sua saída deverá ser parecida com: Informe o primeiro número: 7 Informe o segundo número: 3 A soma dos números é: 10 Veja a resolução comentada deste exercício em JavaScript: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <!doctype html> <html> <head> <title>Exercícios de JavaScript</title> </head> <body> <script type="text/javascript"> // vamos ler dois números do usuário var num1 = Number.parseInt(window.prompt( "Informe o primeiro número:")); var num2 = Number.parseInt(window.prompt( "Informe o segundo número:")); // agora vamos somar os dois números var soma = num1 + num2; // e mostramos o resultado window.alert("A soma dos números é: " + soma); </script> </body> </html> |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de JavaScript |
Veja mais Dicas e truques de JavaScript |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |