2022-6-6 13:30:22 [显示全部楼层]
242浏览
查看: 242|回复: 8

【回忆杀】王心凌——爱你 音乐播放器

[复制链接]
本帖最后由 Ski 于 2022-6-6 15:02 编辑

灵感来源

前几天女朋友在观看某综艺节目时,儿时女神王心凌现身,身着白色校园制服演唱一首《爱你》,一波回忆杀,瞬间把我带回了孩童时代。
趴在教室的课桌上,耳中传来:

“如果你突然打了个喷嚏
那一定就是我在想你....”

长大以后,总是在回忆过去,而音乐可以帮我们快速地找到当年的感觉,于是决定制作一款MP3播放器,一起回到那个夏天。

效果预览

13.png

11.png



功能介绍

参考了一些网上关于音乐播放器的示例,除了基础的音乐播放功能,还需要设计一个交互界面,实现简单的交互控制。

工具准备

硬件

这里选择带有交互屏幕的行空板作为主控,考虑到手上没有线控喇叭,播放设备选择使用蓝牙音箱。
行空板.jpg

软件

  • Mind+
  • MobaXterm(或其他屏幕共享工具)

    上述软件使用教程可移步行空板教程进行查阅。

功能实现

文件准备

1.首先先在行空板文件系统中创建项目文件,这里需要有音乐文件、UI图片和程序代码。

2.将下载好的音乐文件(MP3、wav、ogg皆可)放入音乐文件夹中。


3.添加一张喜欢的图片作为交互界面的背景

蓝牙配对

1.通过命令行进入行空板进入蓝牙配置

  • ssh root@10.1.2.3
  • password:dfrobot

2.依次键入以下指令,打开行空板蓝牙功能

  • bluetoothctl
  • default-agent
  • power on

3.开启蓝牙音箱,设置配对模式

4.键入以下指令,扫描蓝牙音箱设备ID,找到并记录蓝牙设备的device ID

  • scan on

  • 注意:若身边蓝牙设备较多,可尝试使用蓝牙助手扫描获取device ID

    5.依次键入以下命令,进行设备配对

  • trust xx:xx:xx:xx:xx:xx (Device ID)

  • pair xx:xx:xx:xx:xx:xx  (Device ID)

  • connect xx:xx:xx:xx:xx:xx (Device ID)

6.配对完成,退出设置

  • exit

程序实现

1.交互界面——tkinter

可根据需要设置一些按键组件,实现简单的交互功能。

2.音频播放——pygame

音乐功能使用Pygame中的mixer.music用法,包含对音乐的播放控制。

3.代码节选:

    def play():#播放
    global play_num
    global playing
    global flag
    global skip
    if len(mucic_dir):
        pre = 0
        while playing:
            if not pygame.mixer.music.get_busy():
                if flag:
                    if not skip:
                        play_num = pre
                skip = 0
                next_music = mucic_dir[play_num]
                pygame.mixer.music.load(next_music.encode())
                pygame.mixer.music.play(1)
                musicName.set("正在播放:"+music_name[play_num])
                pre =play_num
                if len(mucic_dir)-1 == play_num:
                    play_num = 0
                else:
                    play_num = play_num + 1
            else:
                time.sleep(0.1)

设置启动运行

1.在行空板中打开应用开关

2.单击开机自启,打开开机启动功能

参考链接






ThuJune-202206026622..png
ThuJune-202206026035..png
ThuJune-202206027016..png
ThuJune-202206024733..png
ThuJune-202206026405..png
ThuJune-202206023733..png
ThuJune-202206027781..png
ThuJune-202206025660..png
ThuJune-202206026982..png
发帖封面.png

Storm  中级技师

发表于 2022-6-6 13:49:57

老铁666!
回复

使用道具 举报

木子呢  NPC

发表于 2022-6-6 14:26:21

老铁666!
回复

使用道具 举报

hnyzcj  版主

发表于 2022-6-6 15:02:00


老铁666!
回复

使用道具 举报

千千老师  见习技师

发表于 2022-6-6 18:21:48

six six six
回复

使用道具 举报

R2D2  NPC

发表于 2022-6-6 21:43:11

6666
回复

使用道具 举报

春秋大仙  高级技师

发表于 2022-6-9 00:17:45

哈哈哈,诚意还不够啊,说好的唱 爱你 呢
回复

使用道具 举报

zhouzhuofeng  见习技师

发表于 2022-6-9 09:17:26

楼主厉害,顺便弄一首 爱你吧
回复

使用道具 举报

Ski  高级技师
 楼主|

发表于 2022-6-13 11:29:36

春秋大仙 发表于 2022-6-9 00:17
哈哈哈,诚意还不够啊,说好的唱 爱你 呢

确实搞个桌面版唱吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail