猿问

如何使用 eyed3 将艺术品放入 Tkinter Image 中?

我想从文件.m4a(类似于“.mp3”)中获取音乐作品到 Tkinter 图像中,以便在标签上显示。

出于某种奇怪的原因,链接中的所有答案都使用:

import eyed3

但我必须使用

import eyeD3

安装我必须使用:

sudo apt install python-eyed3
sudo apt install eyed3

我最迟在 2021 年之前运行 Ubuntu 16.04.6 LTS,这意味着我使用的是 Python 2.7.12。我知道语法和命名约定可能在 Python 3.5 版本中发生了变化,eyeD3eyed3是 Ubuntu 16.04.6 LTS 的另一个选项。我也在使用 Linux Kernel 4.14.188LTS,但我怀疑这是否重要。

注意:ffmpeg今天早上尝试从 Python 调用将.m4a文件的插图转换为.jpg文件,但这很“复杂”,我希望eyed3或者eyeD3会更简单。


繁花如伊
浏览 88回答 1
1回答

噜噜哒

使用file.tag.images并迭代它,用于i.image_data获取图像的字节。例如:import eyed3, iofrom PIL import Image, ImageTkimport tkinter as tkroot = tk.Tk()file = eyed3.load(r"music_path")# if there contains many imagesfor i in file.tag.images:      img = ImageTk.PhotoImage(Image.open(io.BytesIO(i.image_data)))     tk.Label(root, image=img).pack()# or if there only one image here:# img = ImageTk.PhotoImage(Image.open(io.BytesIO(file.tag.images[0].image_data)))# tk.Label(root, image=img).pack()root.mainloop()在我的电脑上运行良好。
随时随地看视频慕课网APP

相关分类

Python
我要回答