如何禁用 AVPlayerViewController 中的音频和字幕设置

Posted

技术标签:

【中文标题】如何禁用 AVPlayerViewController 中的音频和字幕设置【英文标题】:How to disable the audio and subtitles settings in AVPlayerViewController 【发布时间】:2015-12-01 19:05:17 【问题描述】:

我想从播放器中移除音频和字幕设置按钮(ios8、iOS9):

玩家的控制器初始化:

            - (void) configureMoviePlayer 


                if(self.moviePlayerController == nil) 

                    self.moviePlayerController = [[AVPlayerViewController alloc] init];

                    [self.view setTranslatesAutoresizingMaskIntoConstraints:NO];
                    [self.moviePlayerController.view setTranslatesAutoresizingMaskIntoConstraints:NO];

                    [self.view addSubview: [self.moviePlayerController view]];

                    NSDictionary *views = @ @"selfview" : self.view, @"movieControllerView" : [self moviePlayerController].view;

                    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[movieControllerView]|"
                                                                                      options:0
                                                                                      metrics:nil
                                                                                        views:views]];
                    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[movieControllerView]|"
                                                                                      options:0
                                                                                      metrics:nil
                                                                                        views:views]];
                

            

当接收到流 URL 时,它被传递给一个新的播放器实例:

 self.moviePlayerController.player = [AVPlayer playerWithURL:self.contentUrl];
 //self.moviePlayerController.showsPlaybackControls = YES;
 if([self.moviePlayerController respondsToSelector:@selector(allowsPictureInPicturePlayback)])                              

    self.moviePlayerController.allowsPictureInPicturePlayback = YES;

示例in the WWDC video 不包含按钮。有没有办法只禁用单个按钮,或者获取默认工具栏按钮的数组并禁用特定按钮。

【问题讨论】:

滚动你自己的 AVPlayer 实现怎么样?它非常简单,您可以根据需要添加自定义控件 @Larcerax 我已经更新了问题。谢谢。 How to perform some action on Play and Pause actions of AVPlayer?的可能重复 @rkyr 我正在使用 AVPlayerViewController 而不仅仅是自定义控制器中的 AVPlayer。 @VladimírSlavík 链接的问题也关于 AVPlayerVeiwController 【参考方案1】:

在我们的例子中,此处的信息删除了不需要的按钮 https://developer.apple.com/library/content/qa/qa1801/_index.html

您需要明确声明内容不包含隐藏式字幕(CLOSED-CAPTIONS=NONE,以上注释中的完整详细信息)

【讨论】:

以上是关于如何禁用 AVPlayerViewController 中的音频和字幕设置的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel 中禁用 CSRF 令牌以及为啥我们必须禁用它?

如何禁用 UIButton 和禁用 touchEvent 响应程序?

如何禁用ECSHOP缓存,如何关闭ECSHOP缓存

表单提交后如何禁用以前禁用的选择

LINUX7如何彻底禁用ipv6和如何临时禁用

如何在 DataGridView 中禁用排序?