一、简介

本文介绍如何在模拟器中运行音乐播放器 Demo。

二、前提条件

在开始 Music_Player 应用实例的开发前,请确保已完成以下准备工作:

  1. 搭建开发环境。
  2. 下载源码。

若已完成上述基础准备,可直接进入本实例专属的条件补充与具体操作环节;
若尚未操作,请先通过openvela 快速入门 完成步骤,避免因环境问题导致实例运行失败。

三、Music_Player_Example

步骤一 配置项目

  1. 切换到 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 界面中:

  1. 按下 / 键逐个搜索修改如下配置:
  • 搜索并设置LVX_USE_DEMO_MUSIC_PLAYER为y
  • 设置LVX_MUSIC_PLAYER_DATA_ROOT为/data

在这里插入图片描述

  1. 按下 Q 键,弹出如下退出保存界面:

  2. 按下字母Y 键保存配置,退出修改配置页面

步骤二 编译项目

  1. 切换到 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

在这里插入图片描述

  1. 成功执行后,将得到以下文件:
./nuttx
├── vela_ap.elf
├── vela_ap.bin

步骤三 启动模拟器并推送资源

音乐播放器运行中会使用到的字体和图片资源位于 apps/packages/demos/music_player/res 中。要将这些资源推送到模拟器挂载的相应文件路径,可以按照以下步骤操作。

  1. 切换到 openvela 仓库的根目录,启动模拟器:
./emulator.sh vela

在这里插入图片描述

  1. 使用模拟器支持的 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

在这里插入图片描述

四、如何自定义音乐播放器

  1. 修改 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/
  1. 退出模拟器。

  2. 重新执行步骤三和步骤四。

运行效果如图所示:

在这里插入图片描述

Logo

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

更多推荐