Chr*_*phe 6 windows vlc-media-player
VLC 播放器 (Windows) 中默认的字幕偏移步长为 50 毫秒(热键为g/ h)。我希望它更大(例如 500 毫秒或 1 秒)。
有没有办法配置该值(无需重新编译)(首选项或注册表)?
编辑:
实际上,我找到了处理这个偏移量的代码(是的,它是硬编码的):
模块/控制/热键.c
else if( i_action == ACTIONID_SUBDELAY_DOWN )
{
int64_t i_delay = var_GetTime( p_input, "spu-delay" );
i_delay -= 50000; /* 50 ms */
var_SetTime( p_input, "spu-delay", i_delay );
ClearChannels( p_intf, p_vout );
DisplayMessage( p_vout, SPU_DEFAULT_CHANNEL,
_( "Subtitle delay %i ms" ),
(int)(i_delay/1000) );
}
else if( i_action == ACTIONID_SUBDELAY_UP )
{
int64_t i_delay = var_GetTime( p_input, "spu-delay" );
i_delay += 50000; /* 50 ms */
var_SetTime( p_input, "spu-delay", i_delay );
ClearChannels( p_intf, p_vout );
DisplayMessage( p_vout, SPU_DEFAULT_CHANNEL,
_( "Subtitle delay %i ms" ),
(int)(i_delay/1000) );
}
Run Code Online (Sandbox Code Playgroud)
我现在尝试在可执行文件中找到这段代码,但我不知道如何执行此操作。有什么帮助吗?
我还考虑了另一种选择,即重新编译所有内容,但我最终放弃了这个(在 Windows 上)......
如果你点击 G 或 H 几次,它就会增加。按 10 次按钮,就有 500 毫秒的时间。检查按住钥匙是否会产生影响。或者您可以在键盘快捷键中增加该值。
硬核方式:您可以下载Hex Workshop、TSearch 或任何其他可以附加到进程的十六进制编辑器,找到每 50ms 增加的值并尝试更改它。一旦找到正确的位置,还应该有一个指向更改值(50ms)的地址的指针。一旦在内存中找到它,您就可以轻松地在 EXE 文件中永久更改它。听起来很容易:)