python显示图片 播放mp3_Python处理MP3的歌词和图片
一些MP3播放器(包括iphone、ipod、itouch、blackberry等)可以在播放mp3的時候顯示專輯圖片、歌詞等信息而不需要額外的圖片文件和歌詞文件,僅僅一個mp3文件就搞定,比較有意思。除了用專門的軟件(比如itunes)來制作這樣的mp3,我們還可以用程序來批量生成。
查閱mp3頭信息ID3V2的技術文檔,發現可以往ID3信息里面加入歌詞和圖片信息(可以在頁面上查找Lyrics、Attached picture就能發現相應的內容)。有了官方格式上的支持,我們要做的就是把歌詞和圖片加入到MP3文件中去。
測試一些開源的軟件包,發現一個比較可靠的:eyeD3,由python語言編寫,直接上代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34#coding=utf-8
import eyeD3
import re
# mp3文件
mp3_file = '/path/to/foobar.mp3'
# lrc歌詞文件
lrc_file = '/path/to/foobar.lrc'
# 專輯圖片
pic_file = '/path/to/foobar.jpg'
# 實例化eyeD3
tag = eyeD3.Tag()
# 綁定到mp3文件
tag.link(mp3_file)
# 去掉原文件中可能存在的圖片
tag.removeImage()
# 去掉原文件中可能存在的歌詞
tag.removeLyrics()
# 設定編碼,非常重要,否則不支持中文
tag.encoding = '\x01'
# 添加圖片
tag.addImage(3, pic_file, u'')
# 添加歌詞,注意要utf-8編碼,去掉lrc中時間信息
tag.addLyrics(re.sub('(\[.*?\][\n]*)+', '', unicode(open(lrc_file, 'r')).read(), 'utf8')))
# 更新到文件
tag.update()
代碼非常簡單,需要注意的是設定編碼,不然歌詞就亂碼了。有了eyeD3之后,可以寫個爬蟲,從網上抓下歌詞和圖片直接灌進MP3文件里面,剩下的就是享受了。
總結
以上是生活随笔為你收集整理的python显示图片 播放mp3_Python处理MP3的歌词和图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【懒人系列】快手获取当前播放视频时长
- 下一篇: 软件生产率