在 PHP 中将 XML RSS Feed 音频长度从字节转换为 Minutes/Seconds
Convert XML RSS Feed Audio Length from Bytes to Minutes/Seconds in PHP
我正在抓取一个 RSS Feed,其中包含音频文件的 <enclosure>
元素。根据the spec,长度以字节为单位给出。
<enclosure url="https://www.w3schools.com/media/audio-file.m4a" length="67960845" type="audio/x-m4a" />
我需要将这个长度转换成实际可测量的时间(即小时、分钟、秒)。这需要知道我碰巧拥有的比特率(我相信)! RSS 提要来自 Anchor 和 according to Anchor,他们以 44.1 kHz、128 kbit/s CBR 对立体声音频进行采样。
我知道提供的示例 length="67960845"
转换为 71 分钟。我试图对其进行逆向工程,但我真的找不到一个好的公式来可靠地转换它,例如:
<?php
$length = 67960845;
$seconds = $length / ????;
?>
此请求在 PHP 中,但可以适用于抓取 RSS 提要的任何语言。
如果将长度转换为位,则可以将其除以比特率,然后得到秒数:
(67960845*8)/128/1000/60 = 70.792546875
所以...
$length = 67960845;
$bitrate_kbps = 128;
$seconds = ceil(($length * 8) / $bitrate_kbps / 1000 / 60);
这对你有用吗?
我正在抓取一个 RSS Feed,其中包含音频文件的 <enclosure>
元素。根据the spec,长度以字节为单位给出。
<enclosure url="https://www.w3schools.com/media/audio-file.m4a" length="67960845" type="audio/x-m4a" />
我需要将这个长度转换成实际可测量的时间(即小时、分钟、秒)。这需要知道我碰巧拥有的比特率(我相信)! RSS 提要来自 Anchor 和 according to Anchor,他们以 44.1 kHz、128 kbit/s CBR 对立体声音频进行采样。
我知道提供的示例 length="67960845"
转换为 71 分钟。我试图对其进行逆向工程,但我真的找不到一个好的公式来可靠地转换它,例如:
<?php
$length = 67960845;
$seconds = $length / ????;
?>
此请求在 PHP 中,但可以适用于抓取 RSS 提要的任何语言。
如果将长度转换为位,则可以将其除以比特率,然后得到秒数:
(67960845*8)/128/1000/60 = 70.792546875
所以...
$length = 67960845;
$bitrate_kbps = 128;
$seconds = ceil(($length * 8) / $bitrate_kbps / 1000 / 60);
这对你有用吗?