方法0 调用系统播放
sudo apt-get install mpg123
如果命令行直接打开播放设置
开启树莓派的声卡
建议输入
#sudo raspi-config
这样就进入了树莓派的设置面板。
选择第八项Advanced Options并回车,然后选择第六项Audio再回车:
一共有三个选项,一个是Auto,一个是HDMI,一个是3.5mm耳机。
如果失败要使用命令行输入
sudo amixer cset numid=3 1
意思是换成耳机输出
优点:播放正常
缺点:暂时不能控制
filename = "/home/pi/Desktop/music/zjl.mp3" import os os.system("mpg123 "+ filename)
额外
不能正常播出
第一步
sudo raspi-config
第二步
选择 Advanced Options 选项
第三步
选择 Audio选项
第四步
选择 Force 3.5mm(‘headphone’)jack(具体选择因个人情况而定)
最后保存退出。
可以通过安装alsa工具来调整音量
命令如下
sudo apt-get install also-utils also-tools
输入alsamixer调整音量
————————————————
方法1 pygame
http://www.cppcns.com/jiaoben/python/287261.html
安装库
sudo pip install mutagen
sudo pip install pygame
、
问题 :音乐b播放变慢
优点: 可以各种控制
2、开始
2.1 设计说明
1、包含 上一首、下一首、暂停/播放、快进/快退、显示当前播放的歌曲名称、显示播放进度条
2、使用pygame.mixer
3、随机播放磁盘某个目录及其子目录下的mp3文件
4、上一首、下一首用随机选择choice(list) 实现
5、进度条用按照一定速度移动进度图片来实现,过程中处理暂停、快进
6、歌曲快进播放用pygame.mixer.music.play(0,d_song_time) 实现
7、暂停用pygame.mixer.music.pause() 实现
8、播放用pygame.mixer.music.unpause() 实现
9、用mutagen.mp3来获取mp3信息
import time import pygame import os from mutagen.mp3 import MP3 #获取地址并拼接 list1=os.listdir('/home/pi/Desktop/music') list2=[] for i in list1: s=os.path.join(r'/home/pi/Desktop/music',i) list2.append(s) print(list2) for n in list2: # 获取每一首歌的时长 audio = MP3(n) pygame.mixer.init() path = n pygame.mixer.music.load(path) #pygame.mixer.music.play()#播放载入的音乐。该函数立即返回,音乐播放在后台进行 pygame.mixer.music.play(10)#快进 time.sleep(int(10)) pygame.mixer.music.pause() # 暂停 time.sleep(int(3)) pygame.mixer.music.unpause() # 接着播放 #获取歌曲时间 time.sleep(int(audio.info.length))
- pygame.mixer.music.load() —— 载入一个音乐文件用于播放
- pygame.mixer.music.play() —— 开始播放音乐流
- pygame.mixer.music.rewind() —— 重新开始播放音乐
- pygame.mixer.music.stop() —— 结束音乐播放
- pygame.mixer.music.pause() —— 暂停音乐播放
- pygame.mixer.music.unpause() —— 恢复音乐播放
- pygame.mixer.music.fadeout() —— 淡出的效果结束音乐播放
- pygame.mixer.music.set_volume() —— 设置音量
- pygame.mixer.music.get_volume() —— 获取音量
- pygame.mixer.music.get_busy() —— 检查是否正在播放音乐
- pygame.mixer.music.set_pos() —— 设置播放的位置
- pygame.mixer.music.get_pos() —— 获取播放的位置
- pygame.mixer.music.queue() —— 将一个音乐文件放入队列中,并排在当前播放的音乐之后
- pygame.mixer.music.set_endevent() —— 当播放结束时发出一个事件
- pygame.mixer.music.get_endevent() —— 获取播放结束时发送的事件