[ English | 简体中文 ]
本文介绍如何在 openvela Emulator 中运行音乐播放器Demo。
-
搭建开发环境,请参见环境搭建。
-
下载源码,请参见下载 openvela 源码。
-
切换到 openvela 仓库的根目录,执行如下命令来配置音乐播放器。
模拟器配置文件(defconfig)在
vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap/
目录下,使用build.sh
配置和编译开发板的代码。./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap menuconfig
- build.sh:编译脚本,用来配置和编译 openvela 代码
- vendor/openvela/boards/vela/configs/*:配置路径
- menuconfig:打开 menuconfig 页面,修改项目代码的配置。
-
按下
/
键逐个搜索修改如下配置:LVX_USE_DEMO_MUSIC_PLAYER=y LVX_MUSIC_PLAYER_DATA_ROOT="/data"
以LVX_USE_DEMO_MUSIC_PLAYER为例进行操作,其余配置方式相同。
-
切换到 openvela 仓库的根目录,在终端内依次执行如下命令:
# 清理构建产物 ./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap distclean -j$(nproc) # 开始构建 ./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap -j$(nproc)
-
成功执行后,将得到以下文件:
./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 主题色,目前还没有使用。 参考该格式,将想要播放的媒体添加到该配置文件中。
例如:添加一个,
Happiness.wav
播放时长为186,507 ms
的音乐,可以按如下方式修改。{ "musics": [ { "path": "UnamedRhythm.wav", "name": "UnamedRhythm", "artist": "Benign X", "cover": "UnamedRhythm.png", "total_time": 12000, "color": "#114514" }, { "path": "Happiness.wav", "name": "Xin", "artist": "Tang", "cover": "Good.png", "total_time": 186507, "color": "#252525" }, ] }
修改完配置后,需要重新推送资源,执行如下命令:
# 推送资源 adb push apps/packages/demos/music_player/res /data/
-
退出模拟器。