一.效果
此处效果不好录制,就贴个图吧,点击Esc键退出全屏

二.原理
在基于libVLC的视频播放器之二:使用VLC-Qt播放RTSP流https://blog.csdn.net/caoshangpa/article/details/53158571中曾提到过,将libVLC嵌入到窗体时,无法通过libVLC的下列三个api实现全屏功能:
//切换全屏 / 恢复
LIBVLC_API void libvlc_toggle_fullscreen( libvlc_media_player_t *p_mi );
//设置全屏 / 恢复,由b_fullscreen决定
LIBVLC_API void libvlc_set_fullscreen( libvlc_media_player_t *p_mi, int b_fullscreen );
//获取是否全屏
LIBVLC_API int libvlc_get_fullscreen( libvlc_media_player_t *p_mi );
但是当libVLC嵌入到Qt窗体时,可以通过Qt窗体自身的特性来实现全屏,这也是为什么VLC-Qt可以支持全屏
这里涉及到的知识点是Qt子窗口的全屏与退出全屏
三.实现
全屏
connect(ui->fullSc
本文介绍了如何在基于libVLC的视频播放器VLC-Qt中实现全屏和退出全屏功能。由于libVLC自身API的限制,全屏功能通过Qt窗体的特性来实现。文章详细讲解了实现全屏和退出全屏的步骤,并特别指出,如果子窗口基于QOpenGLWidget或包含QOpenGLWidget,需要特殊处理以避免崩溃。
订阅专栏 解锁全文
1423

被折叠的 条评论
为什么被折叠?



