0

オーディオ ファイルの長さを知るために、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) は私を混乱させます。

4

1 に答える 1

0

たぶん、php の ffmpeg 拡張機能を使用できますか?

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

于 2011-09-05T14:31:27.150 に答える