我正在开发一个视频应用程序,我想实现一个视频搜索器/清理器,就像在QuickTime中显示小拇指一样,并且我可以通过在触摸栏上平滑滑动手指来寻找它,并在其中显示当前进度。视频。我见过NSScrubber
类,但它只显示项目的水平列表。我可以为视频中的特定时间生成资产并显示它们,但我需要QuickTime具备的确切功能。该栏是内置的吗,还是我应该从头开始完全定制?
答案 0 :(得分:0)
我走错了路。我有一个AVPlayer
,我可以通过手动将其图层添加到层次结构中来控制自己。我改用了AVPlayerView
,它提供了开箱即用的搜索/清理功能。唯一的罪魁祸首是它正在取代整个触摸条(我也有其他一些按钮)。
我已经重写了视图控制器的makeTouchBar
方法(每个资源都指出要使用窗口控制器的方法而不是视图控制器的方法,在我的情况下,这是行不通的,并且甚至没有在窗口上调用该方法尽管触摸栏已绑定到窗口控制器,但它却被调用并在视图控制器上完美工作)并添加了其他项代理:
-(NSTouchBar *)makeTouchBar{
NSTouchBar *bar = self.view.window.windowController.touchBar;
bar.defaultItemIdentifiers = [bar.defaultItemIdentifiers.mutableCopy arrayByAddingObject:@"NSTouchBarItemIdentifierOtherItemsProxy"];
return bar;
}
瞧!现在,使用我自定义的触摸栏按钮和视频播放器的搜索/滑动条,即可完美运行。