在网上下载了flac格式的无损音乐专辑,但是标签都是乱码或者是空白,在播放器里不能连续的播放,显示的都是未知艺术家,看的我强迫症都犯了。我还顺便将.wmv转成了.flac,但是需要安装ffmpeg,具体的安装方法可以看这个链接https://blog.csdn.net/qq_30091945/article/details/81154014
我直接用了ffmpeg里的命令来转换,但是发现文件命令里不能有空格,还得重命名一下。我把代码存一下,省的以后找不到。
from mutagen.flac import FLAC
import os
def flac_process(file_dir, info):
audio = FLAC(file_dir)
audio["TITLE"] = info['TITLE']
audio["ARTIST"] = info['ARTIST']
audio["ALBUMARIST"] = info['ALBUMARIST']
audio["ALBUM"] = info['ALBUM']
audio["DATE"] = info['DATE']
audio["GENRE"] = info['GENRE']
audio["TRACKNUMBER"] = info['TRACKNUMBER']
audio.pprint()
audio.save()
def wav_to_flac(file_dir):
save_dir = file_dir.replace('.wav', '.flac')
cmd = 'ffmpeg -i ' + file_dir + ' ' + save_dir
print(cmd)
os.system(cmd)
def file_rename(file_dir):
rename_dir = file_dir.replace(' ', '_')
os.rename(file_dir, rename_dir)
if __name__ == "__main__":
os.chdir(r'C:/Users/15323/Music/邓紫棋/G.E.M.-新的心跳 - 副本/')
input_dir = os.getcwd()
for file in os.listdir(input_dir):
file_rename(file)
for file in os.listdir(input_dir):
if file.split('.')[-1] == 'wav':
wav_to_flac(file)
for file in os.listdir(input_dir):
if file.split('.')[-1] == 'flac':
file_name = file.split('.')[0]
name = file_name[3:]
number = file_name[:2]
info = {
'TITLE': name,
'ARTIST': u'邓紫棋',
'ALBUMARIST': u'邓紫棋',
'ALBUM': u'新的心跳',
'DATE': '2015',
'GENRE': 'Pop',
'TRACKNUMBER': number
}
print(info)
flac_process(file, info)