![]() |
Re: Aktuelle Lautstärke ermitteln
hi,
du musst die wavedatei in einen buffer einlesen und dann wie folgt auslesen: var SP: ^Smallint; N, v: Integer; xMin, xMax: Integer; vol: Integer; --- //Volume ermitteln: N := Size Div 2; SP := Data; xMin := SP^; xMax := xMin; For i := 0 To N - 1 Do Begin v := SP^; inc(SP); If (xMin > v) Then xMin := v; If (xMax < v) Then xMax := v; End; vol := Round(100 * xMax / 36768.0); //Pegelanzeige: ProgressBar3.position := vol; data: pointer zur audiodatei (getestet mit 8khz mono) xmin: niedrigste lautstärke xmax: maximale lautstärke vol: durchschnittslautstärke auf skala 1-100 --- denormalisieren funktioniert so: //automatisch leiser drehen (denormalize) {ratio := 32767 / xMax; SP := Data; for i:= 0 to N-1 do begin SP^ := round(SP^ / ratio); inc(SP); end;} fürs normalisieren einfach ratio ändern. viel spaß! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz