Beadd / Creamplayer

🎵 QQ Netease Music Downloader
MIT License
648 stars 53 forks source link

MP3Tag 编辑功能 #6

Closed htname closed 2 years ago

htname commented 2 years ago

建议调用eyeD3模块 修改无元数据的mp3文件 利用meting api返回的pic id等参数获取歌曲封面,作者名称,专辑名等元数据

另:cookies如果是自己的账号,建议不要漏了

Beadd commented 2 years ago

建议调用eyeD3模块 修改无元数据的mp3文件 利用meting api返回的pic id等参数获取歌曲封面,作者名称,专辑名等元数据

另:cookies如果是自己的账号,建议不要漏了

会去关注的,cookies是未登录游客的,没有就调用不了网易云API

Beadd commented 2 years ago

建议调用eyeD3模块 修改无元数据的mp3文件 利用meting api返回的pic id等参数获取歌曲封面,作者名称,专辑名等元数据

另:cookies如果是自己的账号,建议不要漏了

添加了,但eyeD3我没找到给歌曲添加图片的选项

Beadd commented 2 years ago

更新的很晚,一直在学校,难受碰不到电脑,抱歉

htname commented 2 years ago

https://eyed3.readthedocs.io/en/latest/_modules/eyed3/id3/tag.html?highlight=image# Screenshot_2022-06-13-18-25-49-26_c0dc27f5c07cb0fb3541d6073dfd6932 Screenshot_2022-06-13-18-25-30-01_c0dc27f5c07cb0fb3541d6073dfd6932 Screenshot_2022-06-13-18-29-54-69_c0dc27f5c07cb0fb3541d6073dfd6932 方法如上,思路可以是下载图片文件后存储

Beadd commented 2 years ago

https://eyed3.readthedocs.io/en/latest/_modules/eyed3/id3/tag.html?highlight=image# Screenshot_2022-06-13-18-25-49-26_c0dc27f5c07cb0fb3541d6073dfd6932 Screenshot_2022-06-13-18-25-30-01_c0dc27f5c07cb0fb3541d6073dfd6932 Screenshot_2022-06-13-18-29-54-69_c0dc27f5c07cb0fb3541d6073dfd6932 方法如上,思路可以是下载图片文件后存储

非常感谢,已经做出来了,在校原因无法及更

htname commented 2 years ago

判断是否存在eyed3模块

eyed3exist=True
try:
    import eyed3
except ImportError:
    eyed3exist=False

后面

if eyed3exist:

歌词

audiofile.tag.lyrics.set(req_lyric.text)

我是这样的逻辑

        if eyed3exist:
            audiofile = eyed3.load(name_url)
            audiofile.tag.artist = data['artist']
            #API in not have album
            #audiofile.tag.album = data['album']
            audiofile.tag.title = data['name']
            #image
            audio_Image = requests.get(data['pic'])
            if (os.path.exists(MusicDirName) == False):
                os.makedirs(MusicDirName)
            with open(MusicDirName+"/pic.jpg", "wb") as code:
                code.write(audio_Image.content)
            imageDate = open(MusicDirName+"/pic.jpg", "rb").read()
            audiofile.tag.images.set(3, imageDate, "image/jpeg")
            audiofile.tag.lyrics.set(req_lyric.text)
            #save alright
            audiofile.tag.save()
            #delete pic
            if (os.path.exists(MusicDirName+"/pic.jpg") != False):
                os.remove("./"+MusicDirName+"/pic.jpg")
        else:
            lrc_Name_Url = LyricDirName + "/" + data1[0]['name'] + ".lrc"
            with open(lrc_Name_Url, "wb") as code:
                code.write(req_lyric.content)

其他建议

os模块有创建文件夹,删除文件等等操作,可以使用os模块进行,调用命令局限于DOS系统(例如del,清屏命令)。。。

Beadd commented 2 years ago

判断是否存在eyed3模块

eyed3exist=True
try:
    import eyed3
except ImportError:
    eyed3exist=False

后面

if eyed3exist:

歌词

audiofile.tag.lyrics.set(req_lyric.text)

我是这样的逻辑

        if eyed3exist:
            audiofile = eyed3.load(name_url)
            audiofile.tag.artist = data['artist']
            #API in not have album
            #audiofile.tag.album = data['album']
            audiofile.tag.title = data['name']
            #image
            audio_Image = requests.get(data['pic'])
            if (os.path.exists(MusicDirName) == False):
                os.makedirs(MusicDirName)
            with open(MusicDirName+"/pic.jpg", "wb") as code:
                code.write(audio_Image.content)
            imageDate = open(MusicDirName+"/pic.jpg", "rb").read()
            audiofile.tag.images.set(3, imageDate, "image/jpeg")
            audiofile.tag.lyrics.set(req_lyric.text)
            #save alright
            audiofile.tag.save()
            #delete pic
            if (os.path.exists(MusicDirName+"/pic.jpg") != False):
                os.remove("./"+MusicDirName+"/pic.jpg")
        else:
            lrc_Name_Url = LyricDirName + "/" + data1[0]['name'] + ".lrc"
            with open(lrc_Name_Url, "wb") as code:
                code.write(req_lyric.content)

其他建议

os模块有创建文件夹,删除文件等等操作,可以使用os模块进行,调用命令局限于DOS系统(例如del,清屏命令)。。。

直接上代码真是非常感谢,基本上你列出的我都采用了,见v1.7.感谢你的Issues!