AVPlayerView Mac:如何禁用所有用户交互?

AVPlayerView Mac: How to disable all user interaction?

我正在制作一个使用 AVPlayerView 播放视频的 mac 应用。我想以编程方式控制播放器。我已将 controlStyle 设置为 none,这样用户就无法通过按下按钮来控制播放器。

theplayer.controlsStyle = AVPlayerViewControlsStyleNone;

您现在不能使用这些按钮,但是当您按下 space 栏时您仍然可以暂停它。或者当你按下箭头键时你仍然可以控制播放器。

那么有没有办法禁用所有用户交互?

您可以继承 AVPlayerView 并将 acceptsFirstResponder 重写为 return NO:

// .h file
@interface NonRespondingAVPlayerView : AVPlayerView

@end

// .m file
@implementation NonRespondingAVPlayerView

- (BOOL)acceptsFirstResponder {
    return NO;
}

@end