【问题标题】:Convert XML RSS Feed Audio Length from Bytes to Minutes/Seconds in PHP在 PHP 中将 XML RSS 提要音频长度从字节转换为分钟/秒
【发布时间】:2021-10-23 08:24:39
【问题描述】:

我正在抓取一个 RSS 提要,其中包含音频文件的 <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 提要的任何语言。

【问题讨论】:

    标签: php xml time rss


    【解决方案1】:

    如果将长度转换为位,则可以将其除以比特率,然后得到秒数:

    (67960845*8)/128/1000/60 = 70.792546875

    所以...

    $length = 67960845;
    $bitrate_kbps = 128;
    $seconds = ceil(($length * 8) / $bitrate_kbps / 1000 / 60);
    

    这对你有用吗?

    【讨论】:

    • 完美!这就是我要找的公式!这是转换音频字节大小 > 时间的绝佳资源。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 1970-01-01
    • 2016-05-03
    • 1970-01-01
    相关资源
    最近更新 更多