Syntax Syntax
Parameters Parameters
- $bitrate
-
(Required)
- $version
-
(Required)
- $layer
-
(Required)
- $padding
-
(Required)
- $samplerate
-
(Required)
Return Return
(int|false)
Source Source
File: wp-includes/ID3/module.audio.mp3.php
return $MPEGrawHeader;
}
/**
* @param int|string $bitrate
* @param string $version
* @param string $layer
* @param bool $padding
* @param int $samplerate
*
* @return int|false
*/
public static function MPEGaudioFrameLength(&$bitrate, &$version, &$layer, $padding, &$samplerate) {
static $AudioFrameLengthCache = array();
if (!isset($AudioFrameLengthCache[$bitrate][$version][$layer][$padding][$samplerate])) {
$AudioFrameLengthCache[$bitrate][$version][$layer][$padding][$samplerate] = false;
if ($bitrate != 'free') {
if ($version == '1') {
if ($layer == '1') {
// For Layer I slot is 32 bits long
$FrameLengthCoefficient = 48;
$SlotLength = 4;
} else { // Layer 2 / 3
// for Layer 2 and Layer 3 slot is 8 bits long.
$FrameLengthCoefficient = 144;
$SlotLength = 1;
}
} else { // MPEG-2 / MPEG-2.5
if ($layer == '1') {
// For Layer I slot is 32 bits long
$FrameLengthCoefficient = 24;
$SlotLength = 4;
} elseif ($layer == '2') {
// for Layer 2 and Layer 3 slot is 8 bits long.
$FrameLengthCoefficient = 144;
$SlotLength = 1;
} else { // layer 3
// for Layer 2 and Layer 3 slot is 8 bits long.
$FrameLengthCoefficient = 72;
$SlotLength = 1;
}
}
// FrameLengthInBytes = ((Coefficient * BitRate) / SampleRate) + Padding