我的音乐收藏有点太大,我的汽车音响无法容纳。不过,其中大部分都是 256 kbit/s MP3。我现在的计划是将所有曲目转换为 192 kbit/s MP3。这样它们就都适合了。
我的图书馆是按文件夹组织的,我想保留这种层次结构。
如何将所有曲目转换为 192 kbit/s MP3 并将它们放在不同根目录中的同一文件夹层次结构中?
答案1
xAct 将批量编辑您的 MP3。只需在 Google 上搜索 osx batch mp3 conversion,您就能找到所有可以为您处理此问题的实用程序。
答案2
我自己用一个小的python脚本和lame解决了这个问题。这是python脚本:
import os
import sys
from os.path import join
from subprocess import call
class Converter:
def convert(self, in_file_name, out_file_name):
if os.path.isfile(out_file_name):
return
out_dir = os.path.dirname(out_file_name)
if not os.path.isdir(out_dir):
print '!!!!!!!!!!!!!'
print 'creating ' + out_dir
print '!!!!!!!!!!!!!'
os.makedirs(out_dir)
print 'now converting ' + in_file_name + ' to ' + out_file_name
call(['lame', '-h', in_file_name, out_file_name])
def _is_supported_audio_format(self, format):
return format.lower() in ['mp3', 'aac']
def copyAndConvertAll(self, in_root, out_root):
originalRoot = None
for root, dirs, files in os.walk(in_root):
# to ensure we get the correct path, not just something relative
if originalRoot == None:
originalRoot = root
for file in files:
if self._is_supported_audio_format(file[-3:]):
targetFileName = join(out_root, join(root, file)[len(originalRoot):])
self.convert(join(root, file), targetFileName)
if __name__ == '__main__':
converter = Converter()
converter.copyAndConvertAll(sys.argv[1], sys.argv[2])
只需通过 python convert.py [源目录] [目标目录] 调用它,例如 python convert.py /Users/MyUser/Music /Users/MyUser/ConvertedMusic