用Myst4Viewer看了一下patch.m4b里面的字幕文件,发现字幕文件也是有一定的层次结构的。
' L" V# L" a" a; m% K层次如下,字幕ID, 对应的语音文件ID, 后面是和语音文件对应的一组字幕,每句字幕还包含显示的起始时间。 " s0 d/ O! L6 C2 h& a: o" F4 w. [
: o; V! V% ]& z" A9 ]. `# ]& q* a
抓图如下 5 ?9 U z. ?2 ?! f$ v4 v; }0 g
- r0 }# I) R5 i0 M) L# G- ?" r2 T
q$ I# a6 c8 y% w5 w-------------------------------------------------- & Y* K) j# r/ I ?4 O
2009.12.19 更新
* L3 I+ o. x& B5 j分析了一下字幕文件patch.m4b中的english.m4b中的bin文件的格式。
: P& O, f, I8 D: N格式如下,都画在图片上了。其中1-5是代表5句字幕的定义信息,
" l5 K- g+ K6 f/ z# Z/ P最后4个字节定义了字幕的长度。
7 h5 j( A8 `# R" n! U2 _ 8 J7 W; q2 b; T' o( X3 J% ^
--------------------------------------------------
% f* g1 x7 t- R* a. v" D# U3 K2009.12.21 更新
/ f7 O/ M5 H4 s) R* A* v8 A字幕文件里面有一个特殊的文件main_menu_ui.bin。
_' m2 Z; N2 k8 R W- T估计游戏主菜单上的一些字幕都保存在这个文件里。 % z( D0 H- f9 h7 r
大致分析了一下,格式也比较简单,下面是这个文件的格式。 g, i- u" `6 F2 R N# }2 e
到0x2A为止都是一些固定的信息,从0x2B开始是一组一组的字幕信息,结构如下。
+ g% g \3 G& A9 L6 x% c% J. q9 b0 [
4字节 字幕ID长度 7 z# v! ]' j4 ]) I: T- p
n字节 字幕ID 5 [7 {% [/ x i" ?# ]; b
4字节 字幕长度
4 T8 l8 F f) }1 |! S, hn字节 字幕
$ l0 o, _9 w+ g }2 i" X3 R! l. @5 u6 H
分析清楚了这个结构就很容易可以导出这个文件里的字幕了。 |