Ich wundere mich über die Beziehung zwischen einem Block von Proben und seiner Zeitäquivalent. Angesichts meiner groben Idee bis jetzt:
Anzahl der pro Sekunde gespielten Samples = Gesamtgröße / Dauer.
Also sage ich, ich habe eine 1.02MB Datei und eine Dauer von 12 sec (avg), ich werde ungefähr 89.300 Samples pro Sekunde abspielen lassen. Ist das richtig?
Gibt es andere Möglichkeiten, dies zu berechnen? Zum Beispiel, wie kann ich wissen, wie viel ein Byte [1024] -Array in der Zeit äquivalent ist?
Im Allgemeinen können Sie bei PCM-Samples die Gesamtlänge (in Bytes) durch die Dauer (in Sekunden) teilen, um die Anzahl der Bytes pro Sekunde zu erhalten (bei WAV-Dateien gibt es einige Ungenauigkeiten) Konto für den Header). Wie diese in Proben übersetzt werden, hängt von
abWenn Sie 2) und 3) wissen, können Sie 1)
bestimmenIn Ihrem Beispiel 89300 Bytes / Sekunde, unter der Annahme, dass Stereo und 16 Bits pro Sample 89300/4 ~ = 22 kHz Abtastrate sind
Neben der sehr guten Antwort von @ BrokenGlass werde ich einfach hinzufügen, dass für unkomprimiertes Audio mit einer festen Abtastrate, Anzahl der Kanäle und Bits pro Sample die Arithmetik ziemlich einfach ist. Z.B. Für "CD-Qualität" -Audio haben wir eine Abtastrate von 44,1 kHz, 16 Bit pro Sample, 2 Kanäle (Stereo), daher ist die Datenrate:
%Vor%