自学内容网 自学内容网

mp3文件导入音乐乱码

在网上下载了beyond的mp3文件,发现看起来没问题,一旦加入到音乐软件就会乱码,看起来说因为音乐文件加载到元数据

思路参考了这个文章

解决Mac电脑音乐显示歌名的乱码问题_音频文件乱码-CSDN博客

不过这个只能解决名称乱码,我发现专辑名也会乱码,因此进行了调整

from mutagen.id3 import ID3, TIT2,TALB
import os
import glob

# 指定你想要遍历的文件夹路径
folder_path = '/xxxx/Beyond-MP3'  # 替换为你的文件夹路径

# 使用glob来获取所有MP3文件
mp3_files = glob.glob(os.path.join(folder_path, '*.mp3'))

# 遍历所有MP3文件
for mp3_file in mp3_files[:]:

    # 打开文件
    audio = ID3(mp3_file)

    # 读取歌曲名
    title = audio.get('TIT2')

    album=audio.get('TALB')
    if title:
        print("Current title:", title.text[0])

    # 修改歌曲名
    audio["TIT2"] = TIT2(encoding=3, text=os.path.basename(mp3_file))

    if album:
        current_album = album.text[0]
        print("Current album:", current_album)

        # 尝试解码为 latin1 并重新编码为 utf-8
        try:
            decoded_album = current_album.encode('latin1').decode('utf-8')
        except UnicodeError:
            # 如果解码过程失败,则可能不是 latin1 编码
            print('解码失败')
            decoded_album = current_album

        print("Decoded album:", decoded_album)

        # 修改专辑名为新的名字
        audio["TALB"] = TALB(encoding=3, text=decoded_album)

    # 保存修改
    audio.save()

效果如下:

已经不会出现乱码

注意:因为我发现专辑名称是使用的latin1进行编码的,需要根据自己的文件的编码进行调整


原文地址:https://blog.csdn.net/zhou_438/article/details/140356334

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!