【QEM820MA-CN】轻松玩转音乐播放
本文介绍了QEM820MA-CN 开发板结合音频模块实现音乐播放的项目设计,帮助初学者快速上手基于 QuecPython 的音频播放开发。
本项目实现基于 QEM820MA-CN 开发板的音频播放功能,支持从指定URL获取音频数据并播放,涵盖硬件连接、软件环境配置、驱动 / 播放逻辑开发、工程测试全流程,为智慧音箱、车载音频、便携播放设备等场景的快速开发提供参考。
1.SIM卡插入设备卡槽
2.USB连接设备与主机
复用 QuecPython 基础开发环境,步骤如下:
- 驱动准备:参考QuecPython 驱动准备教程配置基础驱动;
- 工具获取:下载QuecPython 开发工具(如 QPYcom),用于代码下载与调试;
- 固件烧录:确保开发板烧录支持音频 / SPI 功能的 QuecPython 固件,参考固件烧录教程。
以下为基于 SPI 驱动 VS1053 模块的 MP3 播放核心代码,实现本地音频文件读取与播放功能:
import request
import utime
import audio
import _thread
from machine import Pin,ExtInt
aud=audio.Audio(0)
Pin(Pin.GPIO33, Pin.OUT, Pin.PULL_DISABLE, 1) # PA使能
Pin(Pin.GPIO29, Pin.OUT, Pin.PULL_DISABLE, 1) # PA使能
aud.setVolume(5)
url="https://euai-media.acceleronix.io/hls/music/jp03.mp3"
def inner(url):
resp = request.get(url)
# utime.sleep(3)
for data in resp.content:
# logger.debug("play audio data length: {}".format(len(data)))
aud.playStream(3, data.encode())
aud.stopPlayStream()
t = _thread.start_new_thread(inner, (url,))- 保存代码文件为
AudioPlayer.py; - 通过QPYcom把该脚本下载至模组中;
- 点击运行脚本
-
硬件连接完成后,通过 QPYcom 工具将
AudioPlayer.py下载到开发板; -
确保音频文件已上传到指定路径;
-
运行脚本,观察扬声器 / 耳机是否正常播放音频;
-
调试要点:
-
若无声,检查电源、引脚连接是否正确或者模组是否成功注网;
-
若播放卡顿,调整数据读取块大小;
-
-
开发板终端打印:
开始播放:/usr/test.mp3,同时扬声器 / 耳机播放音频; -
音频播放完毕后,终端打印:
播放完成!;
本文介绍了 QEM820MA-CN 开发板结合音频模块实现音乐播放的完整流程,涵盖硬件连接、环境搭建、代码开发与测试,适配智慧家庭、便携音频设备、工业语音播报等场景的快速开发需求。开发者可基于此基础框架扩展功能,如添加音频列表、音量调节、蓝牙音频播放等。