我的音乐库中有许多歌曲显示的时长值不正确,因此在 Clementine 中只能播放部分歌曲。在 Banshee 和其他一些播放器中,它们会显示不同的时长值,有时会播放整首歌曲。
有没有办法可以解决这个问题而不需要“重新编码”歌曲?
答案1
答案2
如果你不想安装任何新东西,请尝试ffmpeg:
ffmpeg -i file_orig.mp3 -acodec copy file_fixed.mp3
答案3
除了 VBR 标头与实际音频不匹配(您可以使用它mp3val
来纠正,如另一个答案中所述),另一个可能导致这种情况的原因是 MP3 文件的 ID3 标签的值不正确。您可以使用包中的工具删除标签来TLEN
修复此问题(显然是可选的):mid3v2
mutagen
$ mid3v2 --delete-frames=TLEN filename.mp3
音乐播放器 Quodlibet 也有一个方便的“修复 MP3 时长”插件,您可以使用它来实现这一点。
(摘自 Quodlibet FAQ:http://quodlibet.readthedocs.org/en/latest/guide/faq.html)
答案4
mp3check 对我来说,使用通配符也能完美运行。
sudo apt-get install mp3check
mp3check {filename or wildcard} --cut-junk-start --cut-junk-end --fix-headers