我们一直在为基于AVPlayer的视频播放器添加字幕支持。我们能够从mediaSelectionGroupForMediaCharacteristic:AVMediaCharacteristicLegible生成的AVMediaSelectionOption中检索mediaType "sbtl“的AVMediaSelectionGroup对象,并可以选择合适的AVMediaSelectionOption在我们的实况流上显示字幕。这一切都运行得很好。
我们遇到问题的地方是取消选择iOS 5.01和iOS 5.1上的AVMediaSelectionOption。
在运行iOS 6的设备上,我们可以使用self.player.currentItem选择:nil禁用字幕,字幕就会像预期的那样消失。但在iOS 5.01和iOS 5.1上,字幕将停止更新,但在关闭播放器、按下电源按钮或将应用程序移到后台之前,最后显示的文本将一直保留在视频播放器上。
我们尝试过滤掉强制字幕,认为这可能是问题所在,但无济于事。这是操作系统中的bug吗?我们的流媒体视频有什么问题吗?
感谢您所能提供的任何帮助和指导。
发布于 2013-02-15 20:42:59
不确定这在iOS5中是否有用,但在我的视频流中,我有一个字幕选项和每种语言的强制字幕选项。I I我更改为强制字幕选项,它不会显示任何字幕(仅当您有强制字幕时)。因此,如果你制作这样的视频,并且有强制字幕,根本没有字幕,你可以选择强制字幕来在iOS5中实现这一点。
下面是我的选择组选项数组的打印对象:
<__NSArrayM 0x2006d590>(
<AVMediaSelectionTrackOption: 0x200297a0, mediaType = sbtl, locale = en, title = (null), option ID = 3, associated forced-only option = <AVMediaSelectionTrackOption: 0x2006d600>>,
<AVMediaSelectionTrackOption: 0x2006d600, mediaType = sbtl, locale = en, title = (null), option ID = 3, default = YES, forced subtitles only>,
<AVMediaSelectionTrackOption: 0x20057210, mediaType = sbtl, locale = zh, title = (null), option ID = 4, associated forced-only option = <AVMediaSelectionTrackOption: 0x20044bc0>>,
<AVMediaSelectionTrackOption: 0x20044bc0, mediaType = sbtl, locale = zh, title = (null), option ID = 4, forced subtitles only>,
<AVMediaSelectionTrackOption: 0x2002d450, mediaType = sbtl, locale = ce, title = (null), option ID = 5, associated forced-only option = <AVMediaSelectionTrackOption: 0x20028660>>,
<AVMediaSelectionTrackOption: 0x20028660, mediaType = sbtl, locale = ce, title = (null), option ID = 5, forced subtitles only>
)希望这对你有任何用处,因为关于这个主题的信息并不多。
https://stackoverflow.com/questions/13241310
复制相似问题