教你用树莓派Python打造一个音乐播放器

article/2025/8/26 14:37:51

买了个树莓派3B+,装好系统后灰落了好厚一层都不知道要干嘛。。。最近突发奇想:用树莓派做一个音乐播放器,每天6:30-7:20自动播放英语听力,强迫自己练习英语,也治治自己的懒床习惯,平时也可以用来听听歌。在这里顺便给大家推荐一个资源很全的python学习免非解答.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,这里有资深程序员分享以前学习心得,学习笔记,还有一线企业的工作经验,且给大家精心整理一份python零基础到项目实战的资料,每天给大家讲解python最新的技术,前景,学习需要留言的小细节

准备工作:

1.树莓派一个,并且己安装好linux系统,并且己安装好Python3环境;

2.音箱一个(AUX有线接口或蓝牙音箱都行),连接到树莓派上;

软件环境搭建:

mtool是一个用python写的音乐播放器,在gitee和github上开源,主要用命令行进行控制,这个很适合我们这个需求。

下载地址:https://gitee.com/shadowlesswalker/mtool.git

首先我们在电脑上用ssh工具(我用的putty)登陆到树莓派,不会的可以另行百度树莓派ssh教程。输入以下命令:

cd /usr

git clone https://gitee.com/shadowlesswalker/mtool.git   mtool   #下载mtool源代码

cd mtool

ln -s -f  /usr/mtool/mtoolctl   /usr/bin/mtool   #创建软链接(快捷方式)

然后安装mtool依赖包:pygame,configparser(有的话就不用安装了)

sudo apt install python3-pygame

pip3 install configparser

至此,mtool就算安装完成了。mtool是一个C/S(服务器/客户端)模式的程序,服务器开启后会监听UDP端口(默认为127.0.0.1:6666),然后接受来自客户端的命令去控制播放。

我再来设置一下服务器端的开机自启动:

vim ~/.bashrc

在最后面添加命令:

nohup mtool --server start > /usr/mtool/log &        #其中nohup与&用于后台运行程序

配置音乐文件夹路径

先来配置一下音乐文件夹的位置,打开/usr/mtool/mtool.conf,在里面自行修改:

[player]         #这个节设置播放器参数

list = music      #设置默认的播放列表,列表名必须在后面的playlists节中出现

volume = 0.2    #默认音量

port = 6666      #默认UDP端口,用于服务器接受命令

index = 2        #当前播放位置

next = next     #默认播放模式:next|loop|random 对应顺序播放|单曲循环|随机播放

[playlists]       #播放列表预设节,可设置多个,格式为:列表名=文件夹路径

music = music        #播放列表名为music,路径为./music

en-listen = /var/share/en-listen    #我的英语听力资源文件的路径

开始使用mtool命令

source  ~/.bashrc

nohup mtool --server start > /usr/mtool/log &

#先手动启动服务端,虽然前面配置了开机自启动,但也只能下次开机才能生效

mtool -c info   #查看服务器状态,可用来测试服务器是否己启动,成攻类似如下显示:

 


mtool -c play  #播放

mtool -c vol=0.5   #设置音量

mtool -c lists  #查看可用的播放列表

mtool -c list     #列出当前播放列表中的音乐文件

mtool -c next=random|next|loop   #设置播放顺序

mtool -c playf=zui      #切换为单曲循环(next=loop),并且播放文件名中包含zui的文件

基本的用法就这样了,我们可以通过在电脑上控制树莓派播放音乐了,但是电脑老开着也不好,况且躺在床上怎么办呢?我们可以在手机上安装ssh工具,比如JuiceSSH(推荐),阿里云app。

设置树莓派定时播放

我们使用linux内置的计划任务命令crontab来设置定时播放功能。

说到定时任务,那我们首先得确认自己树莓派的时间是准确的。嘿嘿嘿。。。可惜,树莓派的时间一般都是不准确的。。。因为一般电脑在断电后时钟会由CMOS电池供电继续跑,但是树莓派断电后时间就会丢失。即然时间都不准确,又怎么能正常执行定时任务呢。。。

所以我们首先解决时间问题-NTP(网络时间同步)

dpkg-reconfigure tzdata    #时区设置,配置文件在/etc/timezone,设置为中国上海时区

date    #查看时间,确保我们的时区为中国时区

开启NTP服务

apt install ntp

ntpdate ntp.ntsc.ac.cn       #同步中国国家授时中心新(NTP服务器ntp.ntsc.ac.cn)

或者在/etc/ntp.conf中添加ntp服务器地址

重启ntp服务:

systemctl enable ntp    #ntp开机自启动

systemctl start ntp      #启动ntp服务

date    #查看系统时间,应该正确了

再来设置定时任务:

先写一个切换播放列表、改变音量、开时播放的脚本,用来被定时任务调用:

vim  /usr/mtool/start-en-listen

脚本内容很简单:

_dir="/usr/mtool"

mtool -c playlist=en-listen    #切换到英语听力播放列表

mtool -c vol=1.0            #音量放到最大(嘿嘿嘿)   

mtool -c next=random    #设置随机播放

mtool -c play     #开始播放

接下来添加定时任务

crontab -e     #将打开编辑器,在最后添加定时任务:

30 6 * * * /usr/mtool/start-en-listen >> /usr/mtool/log.client       #每天早上6:30开始播放

20 7 * * * mtool -c stop                          #每天早上7:20停止播放

终于。。。大功造成!!!!每天早上无法安心地睡懒觉啦啦啦,顺便给大家推荐一个资源很全的python学习免非解答.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,这里有资深程序员分享以前学习心得,学习笔记,还有一线企业的工作经验,且给大家精心整理一份python零基础到项目实战的资料,每天给大家讲解python最新的技术,前景,学习需要留言的小细节

当然,我们还可以添加几行代码,每天早上6:30自动关闭ssh服务,7:20再打开,这样想睡懒觉时就无法从手机ssh端关闭树莓派播放了,只能爬起来去拔电源嘿嘿嘿。。。。。
本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。


http://chatgpt.dhexx.cn/article/NorLEeq9.shtml

相关文章

4步树莓派python3安装opencv,无需编译

4步树莓派python3安装opencv,无需编译 测试器件:树莓派4b 最近配置树莓派环境,装opencv时上网搜索发现教程挺麻烦而且过于老旧,现有一个简单方法分享一下 0.安装树莓派64位系统 可以使用官方软件安装系统 记得烧录前右下角高级设置配置ss…

树莓派 python驱动蜂鸣器

Author: Runsen 有问题,底部评论 蜂鸣器分为两种类型:“有源蜂鸣器”和“无源蜂鸣器”。 有源蜂鸣器内部具有多振动器,只需要在外部提供工作电压,它就能发出固定频率的声音。 无源蜂鸣器没有内部振荡源,需要外部驱动…

树莓派Python3安装运行OpenCV

1、安装 打开树莓派的命令行界面,输入命令即可完成安装。执行命令的时间更网速有关,请耐心等待。 sudo apt-get install python-opencv 是安装在python2 上的 sudo apt-get install python3-opencv 是安装在python3 上的 2、在Python3上测试OpenCV 安装…

树莓派Python开发教程:什么是树莓派

第一课:什么是树莓派 第二课:树莓派能做什么 第三课:购买您的第一个树莓派 第四课:如何安装树莓派系统 楔子 树莓派C语言版本的基础教程差不多写完了,原计划这个十一期间着手写Python部分,但是前几天又冒…

树莓派Python编程手册

第一课:什么是树莓派 第二课:树莓派能做什么 第三课:购买您的第一个树莓派 第四课:如何安装树莓派系统 第五课:树莓派Python编程手册 树莓派可以使用C语言,java,Python,而用python控…

树莓派 python3.9降级为python3.7

今天烧录了一个官方烧录器中的最新的镜像,打开之后python的版本是3.9的,之前做的一些东西都是基于python3.7的,再重新架构十分麻烦,于是干脆就把python3.9进行降级,降为python3.7. 这个镜像不像之前的一些镜像&#x…

第1.2.1章 树莓派python编程环境

树莓派3B,默认的python版本是2.7.13,但是操作系统自带了python3.5.3的IDE 因为现在主流都是用python3,那么我怎么讲python的环境切换到3呢? 1 python环境切换 参考将树莓派内置的 Python2.7 升级成 Python3 # 卸载 python2.7 su…

用python在树莓派上编程,你可以将项目扩展到令人难以置信的规模

树莓派是一个非常廉价的、只有手掌大小的完全可编程的计算机。虽然树莓派的体积小,但是它的潜力无限。你可以像使用常规台式计算机一样在树莓派上创建一个非常酷的工程。例如,你可以用树莓派搭建你自己的家用云存储服务器。 树莓派用什么语言编程&#x…

树莓派基础设置以及编程环境(python语言)

基础条件: 硬件:树莓派 3b 固件:2018-04-18-raspbian-stretch.img IO:树莓派3B的IO是3.3V,5V有风险。 一、python 使用方法 1.1、python2.7进入编程界面 左上角树莓派图标----->Programming----->Python2&…

树莓派教程(基于python编程)--入门篇

一:格式化SD卡 SD卡插入读卡器连接电脑,使用SDFormatter对SD卡进行格式化 (重装烧录也要进行着SD卡格式化操作) 二:下载官方镜像 http://downloads.raspberrypi.org/raspbian_latest 三:烧录SD卡 使用…

unity学习开发小球吃方块小游戏(从制作到发布程序,超详细全教程包你学会)

unity小球吃方块开发过程 你将学会用unity开发小游戏的基础知识吃方块游戏超详细全教程,保姆式教学包你学会一、创建对象创建PlayBall小球吃金币游戏项目,创建地面和小球。 二、添加脚本创建脚本使小球动起来,并用键盘控制小球的运动。 三、控…

python小游戏开发——井字棋

一家懂得用细节留住客户的3年潮牌老店我必须支持!➕🛰:luyao1931 案例介绍 本案例采用 python 实现了一个简单的井字棋游戏。该游戏在控制台界面中进行,有游戏提示。游戏棋盘为 3 X 3 的九宫格样式,每个棋格与数字键盘…

使用Vue框架开发的贪吃蛇小游戏

注意&#xff1a;尽量不要用谷歌浏览器运行&#xff0c;因为谷歌浏览器会把GameValue翻译成中文&#xff0c;使游戏掉帧卡顿 解决办法&#xff1a;1.使用Edge浏览器&#xff0c;2.把谷歌浏览器的自动中文翻译关闭即可 游戏截图&#xff1a; 源码如下&#xff1a; <!DOCTY…

QT大作业——自制小游戏

The RPGgame with QT 一、 系统架构 该项目有4个ui组成&#xff0c;其中mainwindow作为项目程序入口&#xff0c;窗口跳转流程为&#xff1a;mainwindow->gamegraph->area_prairrie->playerstastus。 主要游戏功能装载在gamegraph和area_prairrie两个ui中&#xff0…

webpack + typescript 开发微信小游戏实践

源码地址 微信小游戏版本技术选型使用typescript开发 但是微信小游戏原生不支持 typescript 开发&#xff0c;于是探索一下使用ts开发微信小游戏 1. 创建小游戏 使用测试号&#xff0c;创建一个使用官方示例的小游戏 会生成一个可以直接运行的打飞机小游戏 2. 准备工作 …

小游戏开发引擎CocosCreator

小游戏 六彩跳棋 已经通过审核并且发布了好几天了&#xff0c;对跳棋感兴趣的朋友可以去看看&#xff0c;在微信游戏里搜索 六彩跳棋 &#xff0c;点击 立即玩 吧&#xff01;进去游戏后&#xff0c;需要点击 获取头像昵称 才能得到玩家数据&#xff0c;然后 划动屏幕 选择游戏…

unity开发微信小游戏1

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、准备工作二、官方文档三、WX开发者工具四、获得Appid五、获得AppidError: app.json: app.json六、资源下载失败404总结 前言 最开使用unity3d开发微信小游…

【微信小游戏】微信小游戏开发设置竖屏

微信小游戏开发环境默认横屏&#xff0c;对竖屏游戏非常不方便。 设置竖屏的入口十分隐蔽&#xff0c;以至于一度令我以为不能设置竖屏。 网上也根本搜不到解决方法&#xff0c;经过我的不懈努力&#xff0c;最终还是找到了设置方法。 原本是横屏的 按下面路径设置竖屏 开发…

使用pygame开发一个小游戏

学习了pygame&#xff0c;身为一个IKUN所以&#xff0c;做了一个简单的小游戏。游戏规则是&#xff0c;使用键盘的方向键控制坤坤&#xff0c;当坤坤触碰到篮球&#xff0c;就会爆发出音乐”只因你太美“。代码如下&#xff1a; import random import sys import pygame pygam…

微信小游戏开发教程

微信小游戏开发教程-前言 自18年年初对开发者开放小游戏接口以后小游戏越来越火热&#xff0c;本文就是对小游戏开发的入门教程&#xff0c;希望这篇文章能够帮到想要入门开发游戏的你。 哈哈哈&#xff0c;看到有人说我故意分成好几篇刷PV&#xff0c;改了一下删了两篇&…