如何查找每秒的字节数

时间:2011-09-05 14:05:26

标签: php audio duration unpack

我想找到一个mp3文件中每秒使用的字节数,以便能够找到音频文件的持续时间。 我使用下面的脚本,它向我展示了一些奇怪的价值观。我不是很熟悉所有这些音频文件的东西,我希望得到一些帮助。

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 ) 

所以这个 bytespersec 率(2 110 652 517)令我感到困惑。

1 个答案:

答案 0 :(得分:0)

也许你可以使用ffmpeg扩展名为php?

http://ffmpeg-php.sourceforge.net/doc/api/ffmpeg_movie.php