批处理脚本说明文档 - 音频资源打包与分发
一、脚本功能概述
本批处理脚本(.bat
文件)用于将指定目录下的多个音频文件(.wtg
和 .mp3
格式)打包为音频资源配置文件(tone.cfg
),进一步将配置文件与音频资源合并生成最终的二进制资源包(res.bin
),并将该资源包复制到指定下载目录(download/standard/
)中,供后续设备或系统使用。
二、脚本执行流程详解
步骤 1:定义并拼接音频文件路径
通过一系列 set
命令,将需要打包的音频文件路径逐步拼接到环境变量 TONE_FILE
中。具体操作如下:
- 初始化变量 :
bat
set TONE_FILE=extra_tones\0.wtg
将第一个音频文件路径(extra_tones
目录下的 0.wtg
)赋值给变量 TONE_FILE
。
- 追加其他音频文件 :
通过多次set TONE_FILE=%TONE_FILE% 文件路径
操作,将更多文件路径追加到TONE_FILE
变量的末尾(用空格分隔)。最终包含的文件列表如下:
extra_tones
目录下的音频文件:
0.wtg
,1.wtg
,2.wtg
,3.wtg
,bt_conn.wtg
,bt_dconn.wtg
,bt.wtg
,low_power.wtg
,power_on.wtg
(均为.wtg
格式,推测为系统级提示音,如蓝牙连接/断开、低电量、开机等场景音效)。user_tone
目录下的用户自定义音频文件:
temp_high.mp3
,temp_low.mp3
(可能为温度异常提醒音,如高温/低温警告)。
最终 TONE_FILE
的值为所有文件路径拼接后的字符串 ,例如:
extra_tones\0.wtg extra_tones\1.wtg ... user_tone\temp_low.mp3
步骤 2:调用工具生成音频配置文件
bat
packres.exe -n tone -o tone.cfg %TONE_FILE%
-
工具 :
packres.exe
(一个资源打包工具,需确保该程序与脚本在同一目录或系统 PATH 中)。 -
参数说明:
-n tone
:指定资源包的名称为tone
(可能是内部标识符,用于区分不同类型的资源)。-o tone.cfg
:指定输出的配置文件名为tone.cfg
(该文件记录了所有音频文件的路径、格式等元信息,供后续打包使用)。%TONE_FILE%
:传入步骤 1 拼接的所有音频文件路径,工具会读取这些文件并生成对应的配置。
作用 :将分散的音频文件整合为一份结构化配置文件
tone.cfg
,便于后续统一管理和打包。
步骤 3:生成最终二进制资源包
bat
packres.exe -n res_nor -o res.bin tone.cfg 0 -normal
-
参数说明:
-n res_nor
:指定最终资源包的名称为res_nor
(可能表示"标准资源"或"普通模式资源")。-o res.bin
:指定输出的最终二进制文件名为res.bin
(设备可直接加载的资源包格式)。tone.cfg
:输入步骤 2 生成的配置文件,作为资源打包的依据。0
:可能为版本号、标志位或预留参数(具体含义需参考packres.exe
工具文档)。-normal
:指定打包模式为"标准模式"(可能影响资源压缩率、兼容性等,例如针对普通使用场景优化)。
作用 :基于
tone.cfg
中的音频文件信息,将所有音频数据与配置打包为一个高效的二进制文件res.bin
,适合嵌入设备固件或作为可下载资源。
步骤 4:复制资源包到目标目录
bat
copy .\res.bin .\download\standard\res.bin
- 将当前目录下生成的
res.bin
文件复制到download/standard/
子目录中,并覆盖同名文件(若存在)。 - 目的:将最终资源包放置到指定下载目录,便于后续通过工具或人工方式分发到设备(例如通过 OTA 升级、USB 烧录等)。
步骤 5:暂停脚本执行
bat
pause
- 脚本执行完成后,暂停并显示提示信息
请按任意键继续...
,防止命令行窗口自动关闭(方便用户查看执行结果或排查错误)。 - 注意:此命令仅用于调试或手动运行场景,若需完全自动化执行(如通过计划任务调用),可删除该行。
三、关键文件与目录说明
文件/目录路径 | 用途描述 |
---|---|
extra_tones\*.wtg |
系统级音频文件(如蓝牙连接提示音、低电量警告音、开机音等),格式为 .wtg 。 |
user_tone\*.mp3 |
用户自定义音频文件(如温度异常提醒音),格式为 .mp3 。 |
packres.exe |
资源打包工具(需提前放置在脚本同目录或系统 PATH 中,负责生成配置和最终资源包)。 |
tone.cfg |
中间生成的音频资源配置文件(由 packres.exe 根据 TONE_FILE 列表创建)。 |
res.bin |
最终生成的二进制资源包(包含所有音频数据与配置,供设备直接使用)。 |
download/standard/ |
目标下载目录(脚本会将 res.bin 复制到此目录,需确保该目录已存在)。 |
四、使用前提与注意事项
-
环境依赖:
- 确保
packres.exe
工具存在于脚本所在目录或系统 PATH 环境变量中(否则会报"找不到命令"错误)。 - 所有音频文件(
extra_tones\*.wtg
和user_tone\*.mp3
)必须存在于对应目录中,且路径拼写正确(区分大小写,尤其在 Linux 环境下需注意,但本脚本显然是为 Windows 设计)。
- 确保
-
目录结构要求:
- 脚本假设
extra_tones
、user_tone
、download
目录与脚本位于同一父目录下。若目录不存在,需提前手动创建(尤其是download/standard/
,否则复制操作会失败)。
- 脚本假设
-
工具参数适配:
packres.exe
的具体参数(如-n
、-o
、-normal
)含义可能因工具版本不同而变化,若打包失败,需参考该工具的官方文档调整参数。
-
输出验证:
- 执行完成后,检查
tone.cfg
和res.bin
是否生成(可通过文件大小判断是否正常)。 - 若复制到
download/standard/
失败,需确认目标目录是否存在或是否有写入权限。
- 执行完成后,检查
五、典型应用场景
- 设备固件更新 :将
res.bin
作为音频资源包集成到设备固件中,供系统播放提示音。 - 用户自定义音效 :通过修改
user_tone
目录下的音频文件(如替换temp_high.mp3
),重新运行脚本生成新的资源包,实现个性化音效配置。 - 批量生产支持:在工厂生产环节,通过脚本自动生成标准化的音频资源包,确保所有设备的提示音一致。
六、扩展建议
- 若需支持更多音频文件,只需在步骤 1 的
set
命令中追加文件路径即可(保持空格分隔)。 - 若需区分不同场景的资源包(如"标准模式"和"静音模式"),可复制脚本并修改
-n
参数及输出文件名(例如生成res_silent.bin
)。 - 对于自动化部署,可移除
pause
命令,并通过日志文件记录打包结果(例如重定向packres.exe
的输出到log.txt
)。
bat
set TONE_FILE=extra_tones\0.wtg
set TONE_FILE=%TONE_FILE% extra_tones\1.wtg
set TONE_FILE=%TONE_FILE% extra_tones\2.wtg
set TONE_FILE=%TONE_FILE% extra_tones\3.wtg
set TONE_FILE=%TONE_FILE% extra_tones\bt_conn.wtg
set TONE_FILE=%TONE_FILE% extra_tones\bt_dconn.wtg
set TONE_FILE=%TONE_FILE% extra_tones\bt.wtg
set TONE_FILE=%TONE_FILE% extra_tones\low_power.wtg
set TONE_FILE=%TONE_FILE% extra_tones\power_on.wtg
set TONE_FILE=%TONE_FILE% user_tone\temp_high.mp3
set TONE_FILE=%TONE_FILE% user_tone\temp_low.mp3
packres.exe -n tone -o tone.cfg %TONE_FILE%
packres.exe -n res_nor -o res.bin tone.cfg 0 -normal
copy .\res.bin .\download\standard\res.bin
pause