我尝试了许多方法,但没有获得mp3文件的确切长度值。
使用moviepy:
audiofile = AudioFileClip(url)
print("duration moviepy: " + str(audiofile.duration))
我得到结果:
duration moviepy: 183.59
使用诱变剂:
from mutagen.mp3 import MP3
audio = MP3(url)
print("duration mutagen: " + str(audio.info.length))
我收到了另一个持续时间值:
duration mutagen: 140.93416666666667
使用Windows Media Player打开文件时的实际持续时间值:2m49s
我不知道我的音频文件会如何处理,我从音乐网站测试了一些文件,但仍获得正确的值。 This is my audio file
答案 0 :(得分:0)
尝试pyxsox
我试图用pysox来the audio file which includes this question post
注意:pysox需要SOX cli。
使用方法如下。
import sox
mp3_path = "YOUR STRANGE MP3 FILEPATH"
length = sox.file_info.duration(mp3_path)
print("duration sec: " + str(length))
print("duration min: " + str(int(length/60)) + ':' + str(int(length%60)))
结果是
duration sec: 205.347982
duration min: 3:25
以及有关该mp3文件持续时间的其他信息。
ID3 information => 2.49
mutagen => 2:20
pysox => 3:25
actural length => 3:26
诱变似乎只是在读取ID3信息。