设置mediaPlayer.drawable时如何支持手势?

时间:2017-07-27 12:11:40

标签: ios media-player tvos libvlc

我有一个视图和一个子视图,我需要一个播放器来播放内容。 所以,当我设置

mediaPlayer.drawable = self.playerView 

let swipeButtonRecognizer = UISwipeGestureRecognizer(target: self, action: selector3)
swipeButtonRecognizer.direction = .up
self.view.addGestureRecognizer(swipeButtonRecognizer)

点击识别器似乎不起作用,手势上的操作甚至没有调用。 怎么打电话?我做错了什么?

1 个答案:

答案 0 :(得分:-2)

我不知道为什么,但是libVLC中的{ "data": [ { "time": "2017-08-15T08:00:00+0000", "value": "0" }, { "time": "2017-08-16T08:00:00+0000", "value": "0" }, { "time": "2017-08-17T08:00:00+0000", "value": "0" }, { "time": "2017-08-18T08:00:00+0000", "value": "0" }, { "time": "2017-08-19T08:00:00+0000", "value": "0" }, { "time": "2017-08-20T08:00:00+0000", "value": "0" }, { "time": "2017-08-21T08:00:00+0000", "value": "0" } ] 正在添加自己的点击手势识别器:

VLCOpenGLES2VideoView
     

来源:videolan/vlc/modules/video_output/ios.m

可能是在干扰你的手势。

请注意,它会添加到if (sys->viewContainer.window) { if (sys->viewContainer.window.rootViewController) { if (sys->viewContainer.window.rootViewController.view) [sys->viewContainer.superview addGestureRecognizer:sys->tapRecognizer]; } } 这是sys->viewContainer.superview,或者在您的情况下,mediaPlayer.drawable.superview

变通方法

使用下面的任何一个。

  1. 如果您的视频播放器视图无论如何都不需要用户互动,请将其 self.playerView.superview userInteractionEnabled设置为superview

    您可以考虑将视频播放器视图嵌入到额外的超级视图中,只是为了它。

  2. 如果superview只是一个简单的UIView,请使用自定义UIView,然后在此自定义类中覆盖NO

    -addGestureRecognizer