一.效果
此处效果不好录制,就贴个图吧,点击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子窗口的全屏与退出全屏