如何禁用 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 令牌以及为啥我们必须禁用它?