我对AVPlayer(iOS)有问题。我正在为视频制作字幕。选择文本轨道时,一切都很好。但是,当我禁用所有文本轨道时,它将冻结并继续显示最后一个字幕。因此它实际上停止播放字幕,但是并没有隐藏它的最后一个“已知”帧。
代码:
int selectedTrackIndex = _selectedTextTrack[@"index"]; // Returns an integer and is -1 when none is selected
for (int i = 0; i < _player.currentItem.tracks.count; ++i) {
BOOL isEnabled = NO;
if (selectedTrackIndex != -1) {
isEnabled = i == selectedTrackIndex + firstTextIndex;
}
// All text tracks are 0 (NO) when the selectedtrackindex is -1
[_player.currentItem.tracks[i] setEnabled:isEnabled];
}
因此,对于所有文本轨道,isEnabled均为NO,但它仍然显示自身。我还尝试了:_player.closedCaptionDisplayEnabled = false;
,当没有selectedTextTrack时,那行不通。
知道解决方案的人吗?