用Myst4Viewer看了一下patch.m4b里面的字幕文件,发现字幕文件也是有一定的层次结构的。
2 j; i% ?/ Z. v层次如下,字幕ID, 对应的语音文件ID, 后面是和语音文件对应的一组字幕,每句字幕还包含显示的起始时间。
. ~9 `$ B* c! ?% D2 J I' U& R( l, D6 W' L
抓图如下
# B. t2 H( D. P4 ^5 C7 U/ A
4 v+ [3 V) ^( l3 l' g# n) g! E! e! M! q7 V! C8 L1 m/ s
--------------------------------------------------
2 x! O% R( k* I5 Y6 D4 }/ A" }2009.12.19 更新 ( h) o6 O6 `. U; Y
分析了一下字幕文件patch.m4b中的english.m4b中的bin文件的格式。
3 B, }7 N+ [) }4 d {格式如下,都画在图片上了。其中1-5是代表5句字幕的定义信息, ( X; y7 l, J, _ e% O9 n8 Z# G
最后4个字节定义了字幕的长度。
- t- G$ E2 h' D* \2 o+ t
& s) d9 M* ~$ ]0 {% W5 D--------------------------------------------------
6 V% w( e6 N& w- E: @. ^2009.12.21 更新 0 G: m5 v+ |2 p: c
字幕文件里面有一个特殊的文件main_menu_ui.bin。
+ D$ D d7 o3 V/ j/ j2 E估计游戏主菜单上的一些字幕都保存在这个文件里。
9 u3 B2 f. d$ {* X* g大致分析了一下,格式也比较简单,下面是这个文件的格式。
* ?( W' _; w" P; d- i到0x2A为止都是一些固定的信息,从0x2B开始是一组一组的字幕信息,结构如下。
0 m; H4 S/ _: O4 X# D: F1 x" X6 a& m/ B; Y5 V0 @, R
4字节 字幕ID长度 ! t) q, c' p" I8 N( `
n字节 字幕ID - ]/ Z: j. B }* k% K; e8 t t
4字节 字幕长度
9 c3 P0 E7 R7 T/ Q) On字节 字幕 # i4 A& n, c# r8 w/ ~; b
9 P- P+ C- a* t. q r) { b分析清楚了这个结构就很容易可以导出这个文件里的字幕了。 |