Php 如何从我自己的网站获取MP3的长度?
我有自己的个人网站,我上传了大约5000个mp3。我真正想做的就是能够查看mp3文件的位置,并获得文件的曲目长度,最好是在几秒钟内,但在这一点上,任何事情都会很好。我只是在寻找一些简单、干净、有效的方法来获取这一条信息。我环顾四周,发现的所有东西都能收集到各种各样的信息,但我没能找到符合我要求的东西。如果你们中有人知道什么可以帮忙的,请告诉我 顺便说一句,我只是一个业余爱好者,但我对PHP、MySQL和Javascript有一些经验。我更喜欢用这些语言中的一种,但如果它足够简单,它可以用任何语言,我会弄明白的 谢谢 这里有一个函数: 代码:Php 如何从我自己的网站获取MP3的长度?,php,javascript,mysql,mp3,Php,Javascript,Mysql,Mp3,我有自己的个人网站,我上传了大约5000个mp3。我真正想做的就是能够查看mp3文件的位置,并获得文件的曲目长度,最好是在几秒钟内,但在这一点上,任何事情都会很好。我只是在寻找一些简单、干净、有效的方法来获取这一条信息。我环顾四周,发现的所有东西都能收集到各种各样的信息,但我没能找到符合我要求的东西。如果你们中有人知道什么可以帮忙的,请告诉我 顺便说一句,我只是一个业余爱好者,但我对PHP、MySQL和Javascript有一些经验。我更喜欢用这些语言中的一种,但如果它足够简单,它可以用任何语言
<?php
$f = 'somefile.mp3';
$m = new mp3file($f);
$a = $m->get_metadata();
if ($a['Encoding']=='Unknown')
echo "?";
else if ($a['Encoding']=='VBR')
print_r($a);
else if ($a['Encoding']=='CBR')
print_r($a);
unset($a);
?>
Array
(
[Filesize] => 5108648
[Encoding] => CBR
[MPEG version] => 11
[Layer Description] => 01
[Protection Bit] => 1
[Bitrate Index] => 1010
[Sampling Freq Idx] => 00
[Padding Bit] => 0
[Private Bit] => 0
[Channel Mode] => 01
[Mode Extension] => 00
[Copyright] => 0
[Original Media] => 0
[Emphasis] => 0
[Bitrate] => 160
[Sampling Rate] => 44100
[Frame Size] => 523
[Length] => 252
[Length mm:ss] => 4:12
)
注意[长度mm:ss]=>4:12
部分
另一种解决方案是使用外部工具,如或与内置功能一起使用
来源:
希望这有帮助 你检查过这个了吗:
此外,如果您知道mp3文件的比特率,您可以通过获取mp3文件的文件大小,将其转换为位(或千位),然后将大小除以比特率来计算它。这会给你以秒为单位的时间。在来这里寻求帮助之前,我已经试过了。当我使用它时,我得到的只是:数组([Filesize]=>2661030[Encoding]=>VBR),其中[Filesize]值根据我输入的歌曲名而变化。