我正在使用Qt并使用libVlc版本2.1.5进行实时视频流。我想在vlc帧上处理鼠标按下事件。但是当我点击vlc时,它无法抛出鼠标事件。 我试过
libvlc_video_set_mouse_input(libvlcMediaPlayer,false);
但它将鼠标隐藏在vlc上。 如果有人知道,请帮助我。
感谢。
答案 0 :(得分:0)
我在Ubuntu 16下使用了libvlc 2.2.2并设法以下列方式在vlc视频区域上获取鼠标事件(仅提供与该问题相关的代码)。在我的VideoPlayer课程中,我有成员:
.ng-test-false {
border: 1px solid red;
}
,其中VideoWidget是我的自定义窗口小部件类。在cpp中我设置<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//code.angularjs.org/1.6.2/angular.js"></script>
<div ng-app="myApp">
<div ng-controller="MyCtrl as $ctrl">
<my-Directive ng-class="{'ng-invalid': true, 'ng-test-true': $ctrl.testTrue, 'ng-test-false': $ctrl.testFalse}"/>
</div>
</div>
,创建libvlc_media_player_t* vlcPlayer;
VideoWidget* widget;
实例,将其传递给我的用户界面以及何时播放&#34;视频被称为我也将小部件传递给vlc libvlc_video_set_mouse_input(vlcPlayer, false);
我的自定义VideoWidget类如下:
widget
所以我的想法是通过传递给vlc的QWidget捕获鼠标事件。
答案 1 :(得分:0)
您还需要使用libvlc_video_set_key_input函数:
libvlc_video_set_mouse_input(media_player, 0);
libvlc_video_set_key_input(media_player, 0);