gpt4 book ai didi

iOS MPMoviePlayerViewController - 如何在应用程序发送到后台时关闭?

转载 作者:行者123 更新时间:2023-11-28 22:52:46 25 4
gpt4 key购买 nike

我有一个使用子类 MPMoviePlayerViewController 播放视频剪辑的应用程序,我想确保当用户离开应用程序时(当它进入后台时)关闭电影播放器​​。这是必要的,因为当他们重新进入应用程序时,它似乎没有正确加载电影 URL,所以他们得到一个不断加载的空白电影播放器​​。

通常,我会在按下“完成”按钮时使用 [self dismissMoviePlayerViewControllerAnimated] 关闭电影播放器​​。

当应用程序退出事件状态(或移至后台)时,关闭播放器的正确方法是什么?

最佳答案

好的,当应用程序即将发送到后台时,我最终使用通知来“清理”我的 MPMoviePlayerViewController。这使我能够检测到应用程序何时将从我的应用程序委托(delegate)以外的类发送到后台。

因此,当我创建电影播放器​​时,我添加了观察者以在应用程序发送到后台时调用我的“清理”函数。

(旁注 - 我还使用了一个观察器来防止电影 View 在视频结束后自动关闭。这样用户必须按下“完成”按钮。该按钮还会调用 moviePlayerCleanup 方法。这确保了观察者总是被正确移除)

- (IBAction)buttonVideo:(id)sender {        

// Register Movie Player for UIApplicationWillResignActiveNotification
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(moviePlayerCleanup) name: UIApplicationWillResignActiveNotification object: nil];

/*...set video URL, options, add to subview, etc etc here....*/
}
-(void)moviePlayerCleanup{
// Remove the movie player view controller from the ApplicationWillResign notification observers
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillResignActiveNotification object:nil];
//Dismiss view
[self dismissMoviePlayerViewControllerAnimated];
}

关于iOS MPMoviePlayerViewController - 如何在应用程序发送到后台时关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11527220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com