Como Fazer um teclado de piano do Flash

Transformar seu computador em um piano não só pode salvar -lhe a despesa de comprar um piano, mas também pode desenvolver suas habilidades de composição de música. Projetando um teclado full-featured de piano flash vai deixar você não só tocar as notas do piano com o teclado do computador , mas também vai exigir que você estudar os meandros de sons de piano. Fazendo um teclado de piano trabalhando no Flash requer que você não só sabe como codificar o som do Flash e os comandos do teclado , mas também incorporam o piano sons realistas em seus program.Things Flash Você precisa

Adobe Flash Professional ( CS3, CS4 ou CS5 versões)

Show Mais instruções

1

Inicie o programa flash. Selecione “New” do menu ” Arquivo” na barra de menu principal do Flash para criar um programa de Flash ActionScript 3. Selecione a opção ” Actions ” no menu “Janela” na barra de menu principal do Flash para abrir a “Ações” editor para introduzir o código de teclado de piano para o Flash.

2

Declare um objeto de som com o nome ” pianoSound ” para armazenar sons de tecla de piano. Digite o código ” var pianoSound : Sound = new Sound (); ” como a primeira linha de código no seu “Ações” editor de código esta declaração

3

Declare uma ” KeyboardEvent ” . ouvinte que irá detectar quando a tecla ” barra de espaço ” no teclado é pressionado. Nome função desse ouvinte de evento “, pressedKey ” eo código esta função de tal forma que ele vai declarar um ouvinte ” SampleDataEvent ” . Código do ” SampleDataEvent ” ouvinte de eventos de tal forma que ele irá chamar uma função de síntese de som ( chamado ” pianoSoundmake ” ) e vai jogar os dados de som retornado da função ” pianoSoundmake ” . Digite o código , listados abaixo , começando na próxima linha no editor do Ação para introduzir o código que faz isso

stage.addEventListener ( KeyboardEvent.KEY_DOWN , pressedKey ); .

Função pressedKey ( evento : KeyboardEvent ): void

{

if ( event.keyCode == 32) { pianoSound.addEventListener ( SampleDataEvent.SAMPLE_DATA , pianoSoundmake ); pianoSound.play (); } }

4

Gerar os dados de som do piano com um ” loop ” na função ” pianoSoundmake ” que adiciona um ponto de dados de som 8.192 vezes para atender aos requisitos de buffer de som o sistema de som do Flash. Use a propriedade “position” para iniciar o laço sobre a incrementos de 8192 para continuar a fornecer dados de som para o ” pianoSound ” objeto de som.

Digite o código, listados a seguir , a partir da próxima linha no editor do Ação para alcançar este objetivo

função pianoSoundmake (event: SampleDataEvent ): void

{

for ( var tempo : . int = event.position; time

}

5

Adicione o código no loop for para gravar os dados em propriedade data do pianoSound chamados de ” dados”. com o flash Math.sin () função. Código da função ” pianoSoundmake ” de tal forma que ele irá gerar os dados de som de piano com uma frequência de teste de 1.000 ciclos por segundo. Normalizar a taxa de amostragem utilizada na declaração Math.sin dividindo a frequência a taxa de amostragem de som Flash, 44.100 ciclos por segundo. Definir a função seno para que ele se encaixa na equação padrão de uma onda senoidal , senoidal (2 * PI * Frequência + tempo). Digite o código ” event.data.writeFloat ( 0.5 * Math.sin (2 * Math.PI * ( time/44100 ) * 1000) ); ” no ” pianoSoundmake ” corpo da função para adicionar o som de onda senoidal para o objeto ” pianoSound “, como mostrado abaixo

pianoSoundmake (event: SampleDataEvent ) : . vazio

{

for ( var tempo : int = event.position; time

event.data.writeFloat ( 0.5 * Math.sin (2 * Math.PI * ( time/44100 ) * 6000) ); }

6

Revise seu código para erros de funcionalidade e de sintaxe. Selecione o ícone “azul de seleção” na parte superior do editor da ação para ter o Flash verificar o código para erros de sintaxe. Corrija os erros relatados. . Copie e cole o código abaixo , se você não tiver digitado o código nas etapas anteriores

var pianoSound : Sound = new Sound ();

stage.addEventListener ( KeyboardEvent.KEY_DOWN , pressedKey );

função pressedKey (event: KeyboardEvent ): void

{

if ( event.keyCode == 32) { pianoSound.addEventListener ( SampleDataEvent.SAMPLE_DATA , pianoSoundmake ); pianoSound.play ( ); }

}

função pianoSoundmake (event: SampleDataEvent ): void

{

for ( var tempo : int = event.position; time

event.data.writeFloat ( 0.5 * Math.sin (2 * Math.PI * ( time/44100 ) * 1000) ); }

7

Selecione a opção ” TestMovie ” no menu “Control” na barra de menu principal do Flash para jogar e testar o filme . Posicione o mouse sobre a tela e pressione a tecla barra de espaço para ouvir o som do piano.

Deixe um comentário