用Myst4Viewer看了一下patch.m4b里面的字幕文件,发现字幕文件也是有一定的层次结构的。 $ e1 K$ _: N$ G; [" |0 I; b
层次如下,字幕ID, 对应的语音文件ID, 后面是和语音文件对应的一组字幕,每句字幕还包含显示的起始时间。 ( x8 i3 r* a0 ]' \. F" t8 z
4 y' p$ A7 H% A' n4 [. R& \+ @
抓图如下 0 o+ A1 U+ o% h/ f' U
& a6 I6 X2 M) z, _7 c v! q
& P9 N& p& X5 H
-------------------------------------------------- ( S7 L2 a9 m& R2 {/ _
2009.12.19 更新 ! b9 |( @: ^+ f& w
分析了一下字幕文件patch.m4b中的english.m4b中的bin文件的格式。 ) p5 _: y5 v! I6 i
格式如下,都画在图片上了。其中1-5是代表5句字幕的定义信息, . J) G& B1 A2 K3 A
最后4个字节定义了字幕的长度。
$ B; A2 Q3 D5 f- W [ c; e' u2 U
--------------------------------------------------
0 v8 o9 a7 \ b1 s5 w( ^9 `2009.12.21 更新 * s3 q& O3 y" I9 ^0 r, f# ?& S8 F
字幕文件里面有一个特殊的文件main_menu_ui.bin。
O8 D5 e& m @估计游戏主菜单上的一些字幕都保存在这个文件里。 v: V/ v9 ^4 w0 G9 e
大致分析了一下,格式也比较简单,下面是这个文件的格式。 & g" g, a0 o7 N# ` X K' D
到0x2A为止都是一些固定的信息,从0x2B开始是一组一组的字幕信息,结构如下。
0 R" N' e0 o- U$ Q, E, u( P/ j# u+ Q* \$ O
4字节 字幕ID长度
4 l2 Q5 q, S1 O1 s O: Yn字节 字幕ID : O$ Q/ ]4 Z5 `' y
4字节 字幕长度
8 \5 K5 T) N2 i( F: on字节 字幕
. I, u! q/ r8 V0 o
- S( y. N9 o" r分析清楚了这个结构就很容易可以导出这个文件里的字幕了。 |