树莓派控制音乐

 

方法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()  ——  获取播放结束时发送的事件
原文地址:https://www.cnblogs.com/kekeoutlook/p/12907910.html