在我的应用程序中,我有多个选项卡,每个选项卡上都有一个AVPlayer实例。然而,当我激活AirPlay时,“第一个玩家就赢了”。这意味着当前活动选项卡上的播放器连接到AirPlay,当我切换到另一个选项卡并按play时,什么都不会发生。因此,只有连接到AirPlay的第一个AirPlay实例才能通过AirPlay进行实际播放,而其他选项卡上的播放器不起作用。该怎么办呢?
发布于 2013-11-05 20:05:03
解决方案非常简单:当出现包含播放机的视图控制器时,将AVPlayer实例上的AVPlayer设置为YES,在消失时将其设置为NO。
示例:
- (void)viewWillAppear:(BOOL)animated
{
// _player is an instance of AVPlayer
if ([_player respondsToSelector:@selector(setAllowsExternalPlayback:)]) {
// iOS 6+
_player.allowsExternalPlayback = YES;
} else {
// iOS 5
_player.allowsAirPlayVideo = YES;
}
[super viewWillAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated
{
// _player is an instance of AVPlayer
if ([_player respondsToSelector:@selector(setAllowsExternalPlayback:)]) {
// iOS 6+
_player.allowsExternalPlayback = NO;
} else {
// iOS 5
_player.allowsAirPlayVideo = NO;
}
[super viewWillDisappear:animated];
}好好享受吧。
https://stackoverflow.com/questions/19797618
复制相似问题