[ obucina @ 29.09.2005. 10:43 ] @
| Imam audio podatke u PCM formatu, treba mi kod za pojačavanje zvuka.
Dajte link za neku dobru stranicu sa sadržajem na zadatu temu, da ne preturam po
vaskolikoj mreži. Primeri (može i u C,C++), uputstva, bilo šta...
|
[ Srki_82 @ 29.09.2005. 10:55 ] @
Jednostavno pomnozi podatke sa nekim koeficijentom. Otvoris fajl i dodjes do DATA chunk-a i procitas deo u buffer i pomnozis sa recimo 1.2 i sve ce biti glasnije. Tako radi i Sound Recorder.
[ apex @ 30.09.2005. 10:48 ] @
Ovaj kod radi super kod mene i najjednostvniji je.... a i podrzava oba kanala.
uses
MMSystem;
function GetWaveVolume(var LVol: DWORD; var RVol: DWORD): Boolean;
var
WaveOutCaps: TWAVEOUTCAPS;
Volume: DWORD;
begin
Result := False;
if WaveOutGetDevCaps(WAVE_MAPPER, @WaveOutCaps, SizeOf(WaveOutCaps)) = MMSYSERR_NOERROR then
if WaveOutCaps.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then
begin
Result := WaveOutGetVolume(WAVE_MAPPER, @Volume) = MMSYSERR_NOERROR;
LVol := LoWord(Volume);
RVol := HiWord(Volume);
end;
end;
function SetWaveVolume(const AVolume: DWORD): Boolean;
var
WaveOutCaps: TWAVEOUTCAPS;
begin
Result := False;
if WaveOutGetDevCaps(WAVE_MAPPER, @WaveOutCaps, SizeOf(WaveOutCaps)) = MMSYSERR_NOERROR then
if WaveOutCaps.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then
Result := WaveOutSetVolume(WAVE_MAPPER, AVolume) = MMSYSERR_NOERROR;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
LVol: Word;
RVol: Word;
begin
LVol := SpinEdit1.Value; // max. is 65535
RVol := SpinEdit2.Value; // max. is 65535
SetWaveVolume(MakeLong(LVol, RVol));
end;
procedure TForm1.Button2Click(Sender: TObject);
var
LVol: DWORD;
RVol: DWORD;
begin
if GetWaveVolume(LVol, RVol) then
begin
SpinEdit1.Value := LVol;
SpinEdit2.Value := RVol;
end;
end;
[ Srki_82 @ 30.09.2005. 15:49 ] @
Ovo nije pojacavanje podataka koji generisu zvuk. Ako ti je vec sve pojacano do kraja u Volume Control ovaj kod nece mocu da jos pojaca ton.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.