PHP中将RSS Feed的enclosure音频字节长度转换为时分秒时长的方法
转换逻辑说明
- 128 kbit/s CBR编码的音频单位换算规则:每秒音频的有效数据量为
(128 * 1000) / 8 = 16000字节(1字节=8比特,kbit/s按音频行业通用的1000比特进位计算) - 你提供的示例字节数
67960845除以16000得到约4247秒,和你提到的71分钟(4260秒)的误差来自m4a容器的头部、元数据占用的固定少量字节,对最终时长显示的影响可以忽略,取整后即可得到符合日常使用精度的可读时长。
PHP实现代码
<?php // RSS enclosure的length属性值,单位为字节 $length = 67960845; // Anchor平台128kbit/s CBR编码对应的每秒字节数 $seconds = $length / 16000; // 可选:将总秒数转换为 时:分:秒 格式 $total_sec = round($seconds); $hours = floor($total_sec / 3600); $minutes = floor(($total_sec % 3600) / 60); $sec = $total_sec % 60; $duration = sprintf('%02d:%02d:%02d', $hours, $minutes, $sec); // 示例输出结果为 01:11:00,对应71分钟 echo $duration; ?>
内容的提问来源于stack exchange,提问作者RCNeil
相关产品推荐
相关产品推荐

