Qt 禁用在QMediaPlayer中显示字幕文件

Qt 禁用在QMediaPlayer中显示字幕文件,qt,codec,subtitle,qmediaplayer,Qt,Codec,Subtitle,Qmediaplayer,如何使用K-Lite编解码器包的工具DirectVobSub禁用QMediaPlayer自动加载字幕?如果字幕文件与视频文件位于同一目录中,我不想在QMediaPlayer中显示字幕 回答 由于QMediaPlayer依赖外部框架来渲染视频,因此它对这些框架决定如何渲染视频的控制有限。在这种情况下,正如George Y.所提到的,如果不借助win32 API,字幕可能无法控制 另一个选项可能是研究控制首选编解码器的选项,可能会将编解码器与不呈现字幕的应用程序一起提供。您必须在文件qgstream

如何使用K-Lite编解码器包的工具DirectVobSub禁用QMediaPlayer自动加载字幕?如果字幕文件与视频文件位于同一目录中,我不想在QMediaPlayer中显示字幕

回答

由于QMediaPlayer依赖外部框架来渲染视频,因此它对这些框架决定如何渲染视频的控制有限。在这种情况下,正如George Y.所提到的,如果不借助win32 API,字幕可能无法控制


另一个选项可能是研究控制首选编解码器的选项,可能会将编解码器与不呈现字幕的应用程序一起提供。

您必须在文件qgstreamerplayersession.cpp中的playbin2上取消设置标志GST_PLAY_flag_TEXT,构建插件并使用它。默认情况下,该标志处于启用状态。在Qt5.2中,您将在qtmedia/src/plugins/gstreamer/mediaplayer中找到该文件。对于较旧的4.x版本,文件位置可能会有所不同。

最有可能的情况是,由于此编解码器是作为DirectShow筛选器加载的,因此无法从Qt自动加载。但也可以通过Win32 API实现。这仅在linux gstreamer env上有效。我刚注意到你在为win env工作。