Fórum Gravar um áudio em mp3 usando Bass #215448
19/02/2004
0
Pleonardomv
Curtir tópico
+ 0Posts
19/02/2004
Cebikyn
Gostei + 0
19/02/2004
Pleonardomv
Gostei + 0
20/02/2004
Cebikyn
Primeiro o programa inicia a BASS:
if (not BASS_RecordInit(0)) or (not BASS_Init(1,44100,0, win, Nil)) then begin ShowMessage(´Não foi possível iniciar o dispositivo´); Close(); end
Depois inicia o dispositivo de gravação:
rchan:=BASS_RecordStart(44100, BASS_RECORD_PAUSE, nil,0);
Em seguida inicia o encoder (que grava p/ MP3 a partir do áudio passado pela BASS.dll):
if (not BASS_Encode_Start(rchan,´lame.exe --alt-preset standard - arquivo.mp3´,0, Nil,0)) then begin BASS_ChannelStop(rchan); Exit; end;
E inicia a gravação:
BASS_ChannelResume(rchan);
E qnd terminar a gravação desejada, chama-se estas funções:
BASS_Encode_Stop(rchan); BASS_ChannelStop(rchan);
[b:70b06b48e7]rchan[/b:70b06b48e7] é uma variável do tipo DWORD. Para que o prgrama funcione, é necessário declarar BASS e BASSenc no Uses e tb colocar as dlls BASS.dll e BASSenc.dll na pasta do programa (juntamente com LAME.exe). Para determinar de qual dispositivo será feita a gravação (microfone, line in/out, etc...), use:
BASS_RecordSetInput(input,BASS_INPUT_ON);
Em que input é o número do dispositivo (0 é o primeiro).
Gostei + 0
20/02/2004
Pleonardomv
Valeu....
Gostei + 0
20/02/2004
Cebikyn
Gostei + 0
20/02/2004
Pleonardomv
Gostei + 0
20/02/2004
Cebikyn
[b:c8af2a90b4]Para selecionar dispositivo de entrada:[/b:c8af2a90b4]
Adiciona os dispositivos ao ComboBox:
var c: Integer; i: PChar; begin c:=0; i:=BASS_RecordGetInputName(c); while i<>nil do begin ComboBox1.Items.Add(StrPas(i)); if (BASS_RecordGetInput(c) and BASS_INPUT_OFF)=0 then begin input:=c; ComboBox1.ItemIndex := c; end; inc(c); i:=BASS_RecordGetInputName(c); end; end;
No OnClick do ComboBox (antes de iniciar a gravação):
var i:Integer; begin Input := ComboBox1.ItemIndex; i:=0; while BASS_RecordSetInput(i,BASS_INPUT_OFF) do Inc(i); BASS_RecordSetInput(input,BASS_INPUT_ON); end;
[b:c8af2a90b4]Para selecionar dispositivos de saída:[/b:c8af2a90b4]
Adiciona os dispositivos ao ComboBox:
var x: Integer; begin x := 0; while (BASS_GetDeviceDescription(x) <> nil ) do begin cmbAuDispositivos.Items.Add(BASS_GetDeviceDescription(x)); Inc(x); end; ComboBox2.ItemIndex := 1; begin
Depois basta passar o ItemIndex do ComboBox como primeiro parâmetro do BASS_Init.
Gostei + 0
01/12/2010
Marcos Silva
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)