



Esta dica mostra como podemos gravar sons com o Delphi.
O Sons gravados são do formato wave.
Crie uma nova aplicação e adicione três botões.
Após isso declare mmSystem na seção uses,
em versões unicode declare Winapi.MMSystem.
E deixe os eventos OnClick dos botões conforme o exemplo abaixo:
Iniciando a gravação.
1 2 3 4 5 6 7 8 9 10 11 | procedure TForm1.Button1Click(Sender: TObject); // Gravar, Record begin mciSendString('OPEN NEW TYPE WAVEAUDIO ALIAS mysound', nil, 0, Handle); mciSendString('SET mysound TIME FORMAT MS ' + // set time 'BITSPERSAMPLE 8 ' + // 8 Bit 'CHANNELS 1 ' + // MONO 'SAMPLESPERSEC 8000 ' + // 8 KHz 'BYTESPERSEC 8000', // 8000 Bytes/s nil, 0, Handle); mciSendString('RECORD mysound', nil, 0, Handle); end; |
Parando a gravação.
1 2 3 4 | procedure TForm1.Button2Click(Sender: TObject); // Parar, Stop begin mciSendString('STOP mysound', nil, 0, Handle); end; |
Salvando o áudio, neste caso o arquivo é salvo junto com o executável.
1 2 3 4 5 6 7 8 | procedure TForm1.Button3Click(Sender: TObject); // Salvar, Save var verz: String; begin GetDir(0, verz); mciSendString(PChar('SAVE mysound ' + verz + '/test.wav'), nil, 0, Handle); mciSendString('CLOSE mysound', nil, 0, Handle); end; |
A função foi testada no Windows 8.1 e funcionou muito bem.
Dúvidas ou sugestões deixe nos comentários do post.