2011-05-10 33 views

回答

2

當然是的。波形聲音就是這個意思,即每個時刻聲波的振幅。體積是樣品的均方根(均方根)。

只需獲取您使用的任何音頻庫,獲取波形數據並計算該值。也許即使只是有一個移動平均值已經足夠了(省去了RMS的東西)。

德爾福7將做到這一點,並與mmsystem標題。更高級的組件可用(我使用了lakeofsoft lib一段時間),但如果這是您唯一的音頻操作,那可能會過度殺毒。

+0

謝謝,我可能會使用移動平均線。 – 2011-05-10 17:08:54

4

,我建議你使用BASS音效庫http://www.un4seen.com/bass.html

低音音頻庫..提供了強大的流(MP3 .. OGG ..)功能的開發。所有這些都在一個小的DLL中,大小在100KB以下。

它很容易使用,因爲這個簡單的簡約程序說明。它基於德爾福的BASS記錄測試,包含在BASS附帶的樣本中。查看它可以完整保存和播放錄製的音頻。

只需編譯並運行它即可。

program rec; 
uses Windows, Bass; 

(* This function called while recording audio *) 
function RecordingCallback(h:HRECORD; b:Pointer; l,u: DWord): boolean; stdcall; 
var level:dword; 
begin 
    level:=BASS_ChannelGetLevel(h); 
    write(''#13,LoWord(level),'-',HiWord(level),'   '); 
    Result := True; 
end; 

begin 
    BASS_RecordInit(-1); 
    BASS_RecordStart(44100, 2, 0, @RecordingCallback, nil); 
    Readln; 
    BASS_RecordFree; 
end. 
+0

他們現在有靜態鏈接的方式嗎? – 2011-05-10 18:15:36

+0

不知道,我用BASS.DLL – 2011-05-10 19:54:20