我有自己的个人网站,我上传了大约5000个mp3。我真正想做的就是能够查看mp3文件位置并获取文件Track Length,最好是在几秒钟内,但此时一切都会很好。我只是在寻找一些简单,干净和有效的东西来获得这一条信息。我环顾四周,我发现的所有信息都会提取各种信息,但我找不到能满足我需求的东西。如果你们中的任何人知道任何有用的信息,请告诉我们!
顺便说一句,我只是一个业余爱好者,但我有一些PHP,MySQL和Javascript的经验。我希望它是这些语言之一,但如果它很简单,它可以是几乎任何语言,我会弄清楚。
谢谢!
答案 0 :(得分:4)
这是一个功能:
<强>代码:强>
<?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
)
请注意[Length mm:ss] => 4:12
部分。
另一种解决方案是使用ffmpeg
或mp3info
等外部工具以及内置函数shell_exec()
。
来源: http://www.zedwood.com/article/127/php-calculate-duration-of-mp3
希望这有帮助!
答案 1 :(得分:1)
你检查过这个:http://www.binarytides.com/get-play-time-bitrate-mp3-php/ 此外,如果您知道mp3文件的比特率,您可以通过获取mp3文件的文件大小来简单地计算它,将其转换为位(或千位),然后按比特率划分大小。那会在几秒钟内给你时间。