加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何在不下载整个文件的情况下计算远程位置MP3文件的长度

发布时间:2020-12-13 17:12:13 所属栏目:PHP教程 来源:网络整理
导读:我经营一个独立的音乐网站.我们的Amazon S3 CDN上存有大量MP3文件存储库.我们从不关心在上传时将音频大小存储在数据库中. 现在,我需要在几分钟和几秒内完成每个文件的长度.我不确定是否在所有文件中都设置了TLEN ID3信息,但我知道所有文件都是128kbps比特率.
我经营一个独立的音乐网站.我们的Amazon S3 CDN上存有大量MP3文件存储库.我们从不关心在上传时将音频大小存储在数据库中.

现在,我需要在几分钟和几秒内完成每个文件的长度.我不确定是否在所有文件中都设置了TLEN ID3信息,但我知道所有文件都是128kbps比特率.

由于我的mp3数量非常大,我不想下载整个文件来计算它的音频长度.我想知道是否有更聪明的方法来做到这一点.

解决方法

几乎所有的mp3文件都在文件的开头有Xing / VBRi框架,可以用很少的下载来计算文件的持续时间.

在PHP中你可能会:

>读取前10个字节以获取id3部分的大小
>读取n个字节,其中n是id3部分长度
>读取Xing / VBRi帧所需的字节数
>解析并关闭连接

阅读http://www.codeproject.com/Articles/8295/MPEG-Audio-Frame-Header#XINGHeader以了解如何解析Xing和VBRi帧.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读