オーディオ ファイルの長さを知るために、mp3 ファイルで使用されている 1 秒あたりのバイト数を調べたいと考えています。以下のスクリプトを使用すると、いくつかの奇妙な値が表示されます。私はこのオーディオファイルのすべてにあまり詳しくありません。助けていただければ幸いです。
function getDuration($file) {
$fp = fopen($file, 'rb');
$size_in_bytes = filesize($file);
fseek($fp, 20);
$rawheader = fread($fp, 16);
$header = unpack('vtype/vchannels/Vsamplerate/Vbytespersec/valignment/vbits', $rawheader);
print_r($header);
$sec = ceil($size_in_bytes/$header['bytespersec']);
return $sec;
}
print_r の出力は
Array ( [type] => 25936 [channels] => 27489 [samplerate] => 1970037078 [bytespersec] => 2110652517 [alignment] => 0 [bits] => 21072 )
したがって、このバイト単位のレート (2 110 652 517) は私を混乱させます。