从 UIWebView 中删除控制中心中的信息和控件

remove info and control in Control Center from UIWebView

如果我们将包含视频的 url 放在 UIWebView 中,并使用它播放。 控制中心将有视频的信息和控件。

有没有办法删除此信息并进行控制?

我发现这个问题问 is that UIWebView player a MPMoviePlayerController instance, and how to get a reference to that instance?

虽然答案被采纳了,但它并没有揭示 UIWebView 中真正的播放器,如果我知道它是什么,也许我可以找到更多关于它如何工作以及如何处理它的信息。

既然我是把 UIWebView 放到应用程序中的人,我应该有控制权,对吗?

我尝试获取 AVPlayer with url by this question Get current track playing on control center iOS,但它返回一个新的 AVPlayer,AVQueuePlayer 和 AVPlayerLayer 也是如此。无论我对它们做了什么,控制中心都不会产生任何效果。 .

我在 WWDC 会议中发现 this piece

看起来很有说服力,这是正确的方向吗?

@DaidoujiChen 向我介绍了 method swizzling

它帮我过滤了从 UIWebView 注册移除控件的事件

找出你不想被别人感动的方法

按照你定义的flag执行方法,仅此而已!

- (void)avoidWebViewUse_beginReceivingRemoteControlEvents {

if ([ JukeboxMacro sharedSingleton ].requestingRemoteControl) {

    [ self avoidWebViewUse_beginReceivingRemoteControlEvents ];

} else {

    NSLog(@"UIWebView trying to beginReceivingRemoteControlEvents ");

}}