今天给大家唠唠嗑,说说我怎么用代码放张杰的歌儿的。说起来,这事儿还得从我那有点怀旧的心说起。
起因:
没事儿在屋里待着,突然就想听听老张的歌了,就是张杰,你们懂的。搜是能搜到,但是手动点来点去的多麻烦,咱程序员不得有点追求?就琢磨着能不能写个小玩意儿,一句话的事儿,直接开唱。
摸索阶段:
先找轮子: 这年头,啥都讲究个效率,自己从头写?不存在的。先上各种社区溜达溜达,看看有没有现成的库能直接用。 锁定了几个: 找到了几个 Python 的音频播放库,像 `playsound`、`pygame` 啥的。看着都挺简单的,决定先试试 `playsound`。 小坑不断: 结果一上来就给我整不会了。`playsound` 这玩意儿,它不支持中文路径!我歌名都带“张杰”俩字,直接歇菜。柳暗花明:
换个思路: 既然 `playsound` 不行,那就换 `pygame` 呗。这玩意儿功能强大点,应该能行。python
import pygame
*.load('张杰 - 逆战.mp3') # 歌曲名要改成你自己的
*.play()
while *.get_busy():
*().tick(10)
重点来了:
路径问题: 还是路径问题!不过这回不是中文路径,而是相对路径和绝对路径的问题。一开始我用的相对路径,结果死活放不出来。后来改成绝对路径,OK 了!最终效果:
写了个简单的命令行界面,可以输入命令来控制播放。虽然简陋,但是能用就行,毕竟咱主要目的是听歌嘛
- 输入 "play" 开始播放
- 输入 "pause" 暂停
- 输入 "unpause" 继续播放
- 输入 "stop" 停止播放
- 输入 "exit" 退出程序
这回折腾,虽然没啥技术含量,但也算是把 `pygame` 的基本用法给摸清楚了。以后想搞点更花哨的,也有个基础了。而且想听老张的歌儿,也更方便了,美滋滋!
PS:
歌曲版权很重要,大家听歌的时候要注意支持正版!