用Myst4Viewer看了一下patch.m4b里面的字幕文件,发现字幕文件也是有一定的层次结构的。 5 l( G( A. G) L- E
层次如下,字幕ID, 对应的语音文件ID, 后面是和语音文件对应的一组字幕,每句字幕还包含显示的起始时间。
& ?5 p, r$ L. V2 @% i$ t/ _) ?/ h6 e5 h) b2 h
抓图如下
' g: w5 Q/ Z$ @7 D' F
; l" s$ C3 p) g3 O: v: x9 k Y, `0 e
-------------------------------------------------- ! y6 k" S% q* Z! \( R' \
2009.12.19 更新
3 I2 P3 F. G6 T分析了一下字幕文件patch.m4b中的english.m4b中的bin文件的格式。 # O: q# {9 j4 ^8 e0 u
格式如下,都画在图片上了。其中1-5是代表5句字幕的定义信息, ) M5 |; x4 `6 ?" h( G& V) N! {; ~
最后4个字节定义了字幕的长度。
" O7 R+ R8 K/ [
; L; Y6 p0 E4 i j. ?$ p. `, U-------------------------------------------------- 5 v3 W% E. Y$ {% V0 E+ W; I
2009.12.21 更新
; f* F1 x- k% Y5 P字幕文件里面有一个特殊的文件main_menu_ui.bin。 9 w% b; c9 O) c+ k) u
估计游戏主菜单上的一些字幕都保存在这个文件里。
2 ^$ e* z! Q% \, b. E$ [( n大致分析了一下,格式也比较简单,下面是这个文件的格式。
8 Y* t/ C# f2 a4 }到0x2A为止都是一些固定的信息,从0x2B开始是一组一组的字幕信息,结构如下。 ' ]& p$ w' e& i& O
/ t4 ]& K, K, W4 [9 [: u) `4 {3 Q. d
4字节 字幕ID长度 2 V; b. M1 |! D5 U# j
n字节 字幕ID - f2 q) s! @: E+ I! I# |
4字节 字幕长度 9 i7 o( `7 g) R. a' E/ s( b: N" o
n字节 字幕 % p! S# t9 w: V6 M/ c
* N" A b9 K1 Y6 v
分析清楚了这个结构就很容易可以导出这个文件里的字幕了。 |