版主
- 大洋
- 14985
- 阅读权限
- 140
|
本帖最后由 nnezyj 于 20-3-12 13:17 编辑
一、语言选择菜单页面,在其他 11110.jar 文件上。
由于语言选择菜单,与 00001.jar 的主菜单有联动设计。语言选择菜单选择之后的参数等信息会传递给 00001.jar 内的应用程序。
大概说下思路:首先,要找到播放函数,也就是播放视频时的代码段,然后逆推,找到调用关系。还有 Title 跳转函数,亦是如此。此外,还要找到原按钮动作之后的一些参数变化等等。
因为,原盘设计是通过语言菜单的按钮动作,来完成跳转。而需要跳过,那么就要把按钮动作之后的参数都预先找到,然后修改代码,实现自动跳转……
工作量有点大,要会阅读代码,能在没有有效提示的类名方法名中找到原盘代码工作原理,并编写相关的新功能语句,找到准确的插入代码位置,实现自动跳转。
这对编程水平有较高的要求,我搞不定……
通过 new BDLocator 的代码句式,找到建立 PlayList 对象的函数类,以及 new BDLocator((String) null, i, -1) 的 Title 代码。
通过 implements ControllerListener 的代码,找到 Player 播放事件侦听器。
通过 ControllerListener 的 controllerUpdate 函数,找到 controllerEvent 事件。其中 EndOfMediaEvent 下的处理函数,这里可以作为一个播放结束跳转点,将语言菜单视频替换成 logo 视频,然后播放结束,跳转 Title 。
通过 "BDMV/JAR/11111/startup.properties" 、"playlist.sus" 等字符串,找到语言选择菜单相关类。顺着调用关系,找到与 BDLocator 的中间关联函数。
……
################################# 分隔符 ###################################
我看了下你在第二个问题的图片,得到你需要跳过的理由:删减了按钮和轨道,所以语言选择菜单,就配合不上了!
这里,提供另一个修改思路:【个人觉得更可行】
语言菜单是一个 M2TS 视频文件,按钮直接存在于视频之上。
从视频中截取一个 1920x1080 的全视频图片,使用 PS 等工具,将多余按钮P掉,仅保留需要的按钮。并调整好位置。
使用大金自带的 Scenarist UHD/Utilities/Still Image Encoder/StillImageEnc.exe 工具,输出一个视频,以替换原有的语言菜单视频。
【因为此工具只能输出 AVC ,非 HEVC ,所以 HDR 效果肯定没有……】
使用超文本工具,打开 BDMV/JAR/11111/startup.properties 文件。
修改 button.total 个数,删减多余 button.info 项目,修改相应坐标。
playlist.sus=0 是语言菜单视频 MPLS 编号,新制作的语言菜单视频可以作为新的文件指向,无需替换原有。
【补充】
可以尝试修改 ObjectMovie 指令。
找到 FirstPlayback 关联的 ObjectMovie 指令,将最后的 JumpTitle titleNumber 语句中的 titleNumber 改为 0 ,即直接跳转到 TopMenu。
|
评分
-
查看全部评分
|