弹出视图控制器时继续播放 AVPlayer 流

Posted

技术标签:

【中文标题】弹出视图控制器时继续播放 AVPlayer 流【英文标题】:Carry on playing AVPlayer stream when view controller is popped 【发布时间】:2014-09-24 18:20:17 【问题描述】:

我有一个 NavigationViewController,其中包含一个可以播放的 Streams 表。当用户选择其中一个流时,它会推送“RadioDetailViewController”并从 URL 开始流式传输。

我想要的是当我导航回 rootViewController(NavigationViewController) 时,我希望 AVPlayer 继续流式传输。

有人可以帮忙吗?

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

UINavigationController *navController = [segue destinationViewController];
    RadioTableViewController *radioTableViewController = (RadioTableViewController *)([navController viewControllers][0]);
    [radioTableViewController  setRadiostreamContinue:radioStream];

然后在我的 rootViewController 我这样做:

- (void)viewDidLoad
 [radioStreamContinue play];

[super viewDidLoad];

这不会做任何事情并且流停止。抱歉,我是新手,希望能提供任何帮助。

【问题讨论】:

没人能帮忙吗? 【参考方案1】:

我偶然发现了这个试图寻找更清洁的解决方案......但是您是否尝试过在应用程序委托中设置音频播放器属性并使用视图控制器中的资源进行设置?这样,当视图控制器被释放时,播放器对象不会被释放。

(我真的不认为这是一个很好的答案,但我还没有代表发表评论)

【讨论】:

以上是关于弹出视图控制器时继续播放 AVPlayer 流的主要内容,如果未能解决你的问题,请参考以下文章

使用 AVPLayer 实现媒体播放器以在 Swift 4 的模态视图控制器的弹出视图中播放来自远程 url 的音频

切换到下一个视图控制器后,AVPlayer 视频仍在播放

传递给不同控制器时 AVPlayer 持续时间会发生变化

在 iOS 7 和 8 中使用 AVPlayer 进行远程控制

ViewController 加载时 UISlider 的 AVPlayer currentTime 更新

如何在 tableViewCell 中控制 AVPlayer(通过滑块和搜索播放、暂停、进度)?