AVPlayer 隐藏式字幕打开/关闭
Posted
技术标签:
【中文标题】AVPlayer 隐藏式字幕打开/关闭【英文标题】:AVPlayer Closed Captions turn on/off 【发布时间】:2017-10-04 15:46:55 【问题描述】:我正在创建自定义视频播放器,我想为 CC 创建切换按钮。
我看到了这个帖子:ios AVPlayer cannot disable closed captions
所以我尝试了:
AVMediaSelectionGroup *group = [self.avPlayer.currentItem.asset mediaSelectionGroupForMediaCharacteristic:AVMediaCharacteristicLegible];
[self.avPlayer.currentItem selectMediaOption:nil inMediaSelectionGroup:group];
没用.. cc 仍然可见。
也试过了:
AVPlayerItemLegibleOutput *output = [[AVPlayerItemLegibleOutput alloc] init];
[output setDelegate:self queue:dispatch_get_main_queue()];
[output setSuppressesPlayerRendering:true];
[self.avPlayer.currentItem addOutput:output];
它隐藏了抄送,但我怎样才能取消隐藏呢? ,我试过了:
[output setSuppressesPlayerRendering:true];
但 cc 在屏幕上冻结。
谢谢!
【问题讨论】:
这个你搞定了吗? 这是答案。 ***.com/questions/33303052/… 【参考方案1】:目标 C:这个对我有用。甚至我也想做同样的事情。
关闭字幕
AVMediaSelectionGroup *subtitleSelectionGroup = [_playerItem.asset mediaSelectionGroupForMediaCharacteristic:AVMediaCharacteristicLegible];
[_playerItem selectMediaOption:NULL inMediaSelectionGroup:subtitleSelectionGroup];
为了再次显示它,我这样做:
AVMediaSelectionOption* option = [subtitleSelectionGroup.options objectAtIndex:subtitleIndex-1]; // I did -1 because OFF was 0 for my case
[_playerItem selectMediaOption:option inMediaSelectionGroup:subtitleSelectionGroup];
【讨论】:
以上是关于AVPlayer 隐藏式字幕打开/关闭的主要内容,如果未能解决你的问题,请参考以下文章
在 OS X 上使用 AVFoundation AVPlayer 显示字幕
AVPlayer - 如何以编程方式打开/关闭来自 HTTP Live Streaming 视频的 CC?
将 AVPlayerViewController.player 设置为 nil 会中断隐藏式字幕