Для тех, кто интересуется, вот ссылка на источник.
Я подозреваю, что они просто используют плохой пример, где длительность wav-файла будет меньше секунды.Это не очень удовлетворительный ответ, и, возможно, вы уже знали об этом, но я все еще думал, что опубликую свой мыслительный процесс на случай, если кто-нибудь еще перешагнет через этот сайт и столкнется с той же проблемой.Их формула имеет смысл, и мы можем использовать ее для проверки размера данных wav-файла за одну секунду.
Если наша частота дискретизации составляет 22050 выборок / сек, а наш wav-файл составляет одну секунду, то numSamples = 22050.знать, что Subchunk2Size - это число байтов в данных, и его можно рассчитать по следующей формуле: Subchunk2Size = numSamples * numChannels * bitsPerSample / 8
, поэтому, предполагая, что numChannels = 2 и bitsPerSample = 16, мы знаем, что одна секунда wav-файла должна быть (22050 * 2 * 16 / 8) bytes
, что 88200 bytes
, поэтому имеет смысл, что если Subchunk2Size равен 2048 байтам, как в примере с веб-сайтом, тогда длительность wav-файла будет меньше секунды и, следовательно, numSamples будет меньше 22050. Думаю, кто-нибудь?