openvela之Music_Player应用示例
本文介绍了在openvela模拟器中运行音乐播放器Demo的完整流程。首先需要搭建开发环境并下载源码,通过menuconfig配置音乐播放器选项。然后编译项目生成可执行文件,启动模拟器并将所需资源文件推送至/data目录。在模拟器终端运行music_player命令即可启动播放器。文章还详述了如何自定义播放内容,包括添加新音乐文件、修改配置文件manifest.json以及重新推送资源的方法。整个
一、简介
本文介绍如何在模拟器中运行音乐播放器 Demo。
二、前提条件
在开始 Music_Player 应用实例的开发前,请确保已完成以下准备工作:
- 搭建开发环境。
- 下载源码。
若已完成上述基础准备,可直接进入本实例专属的条件补充与具体操作环节;
若尚未操作,请先通过openvela 快速入门 完成步骤,避免因环境问题导致实例运行失败。
三、Music_Player_Example
步骤一 配置项目
- 切换到 openvela 仓库的根目录,执行如下命令来配置音乐播放器。
说明:模拟器配置文件(defconfig)在 vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap/ 目录下,使用 build.sh 配置和编译开发板的代码。
#切换到 openvela 仓库的根目录,执行如下命令来配置音乐播放器。
cd openvela 仓库的根目录
#配置menuconfig以启用音乐播放器
./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap menuconfig
在 menuconfig 界面中:
- 按下 / 键逐个搜索修改如下配置:
- 搜索并设置LVX_USE_DEMO_MUSIC_PLAYER为y
- 设置LVX_MUSIC_PLAYER_DATA_ROOT为/data
-
按下 Q 键,弹出如下退出保存界面:
-
按下字母Y 键保存配置,退出修改配置页面
步骤二 编译项目
- 切换到 openvela 仓库的根目录,在终端内依次执行如下命令
#清理构建产物
./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap distclean -j8
#开始构建
./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap -j8
- 成功执行后,将得到以下文件:
./nuttx
├── vela_ap.elf
├── vela_ap.bin
步骤三 启动模拟器并推送资源
音乐播放器运行中会使用到的字体和图片资源位于 apps/packages/demos/music_player/res 中。要将这些资源推送到模拟器挂载的相应文件路径,可以按照以下步骤操作。
- 切换到 openvela 仓库的根目录,启动模拟器:
./emulator.sh vela
- 使用模拟器支持的 ADB 将资源推送到设备,在 openvela 仓库的根目录下打开一个新的终端,输入 adb push 后跟文件路径,即可将资源传输到相应位置。
# 安装adb
sudo apt install android-tools-adb
# 推送资源
adb push apps/packages/demos/music_player/res /data/
步骤四 启动音乐播放器
在模拟器的终端环境 openvela-ap> 中输入如下命令:
music_player &
步骤五 退出 Demo
四、如何自定义音乐播放器
- 修改 apps/packages/demos/music_player/res 下面的相关配置,在 res/musics 目录下增加新的音乐媒体文件,格式目前只支持 *.wav,可以自行将 *.mp3/aac/m4a 等格式的媒体文件转换为 *.wav 格式。然后修改该目录下的 res/musics/manifest.json 文件:
{
"musics": [
{
"path": "UnamedRhythm.wav",
"name": "UnamedRhythm",
"artist": "Benign X",
"cover": "UnamedRhythm.png",
"total_time": 12000,
"color": "#114514"
}
]
}
参数 | 参数说明 |
---|---|
path | 待播放媒体的文件路径 |
name | 媒体名 |
artist | 艺术家名 |
cover | 封面路径,如果没有提供封面,会展示封面。 |
total_time | 该媒体的总播放时长,单位为 毫秒。 |
color | 主题色,目前还没有使用。 |
参考该格式,将想要播放的媒体添加到该配置文件中。
例如:更换一个音乐的各种属性,可以按如下方式修改。
{
"musics": [
{
"path": "UnamedRhythm.wav",
"name": "Rivotek_music",
"artist": "Rivotek",
"cover": "Rivotek.png",
"total_time": 1800000,
"color": "#114514"
}
]
}
修改完配置后,需要重新推送资源,执行如下命令:
推送资源
adb push apps/packages/demos/music_player/res /data/
-
退出模拟器。
-
重新执行步骤三和步骤四。
运行效果如图所示:

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐
所有评论(0)