【发布时间】:2017-10-23 05:37:07
【问题描述】:
在以前的版本中,AVPlayer 上有完成按钮,当添加以下通知时,它起作用了:
NotificationCenter.default.addObserver(self, selector: #selector(CourseDetailViewController.moviePlayBackDidFinish(notification:)), name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: nil)
现在突然,在 iOS 11 中,首先没有完成按钮(它被十字按钮取代),其次,在点击十字按钮时,NSNotification.Name.AVPlayerItemDidPlayToEndTime 没有被触发。
这就是我在AVPlayerViewController 的帮助下向玩家展示的方式
player = AVPlayer(url: url! as URL)
let playerViewController = AVPlayerViewController()
playerViewController.player = player
self.present(playerViewController, animated: true)
【问题讨论】:
-
请阅读Under what circumstances may I add “urgent” or other similar phrases to my question, in order to obtain faster answers? - 总结是这不是解决志愿者的理想方式,并且可能会适得其反。请不要将此添加到您的问题中。这在标题中被认为特别令人厌烦,所以我投了反对票 - 你是一位经验丰富的 Stack Overflow 用户,应该知道这一点。
-
@halfer:我很感激。据我所知(我真的对此不感兴趣,而是对解决方案感兴趣),当您起草问题时,堆栈溢出本身会限制问题标题中某些关键字的使用。如果他们认为不应该使用 URGENT,我不必担心将其删除(您自己掌握的事情 :))我在编辑问题方面享有一定的声誉,但我只在它有效时才这样做。无论如何,现在如果你能解决更相关的部分,即答案。
-
(这里的一个讨论帖被参与者删除,以便为主题讨论腾出空间。我将留下一条在社区中流行的建议,即:downvotes 不是个人的,它们是只是消息。)
-
@CupawnTae:是的。如果播放器关闭,则调用 AVPlayerItemDidPlayToEndTime,无论是否强制关闭。这在以前的 iOS 版本中一直有效。当 iOS 11 更新时,我的应用程序开始出现问题。
-
@Nitish 事实上,根据文档和经验证据,当点击“完成”时,不应发布此通知。你考虑过我的问题吗?
标签: ios swift avplayer ios11 avplayerviewcontroller