gpt4 book ai didi

ios - 电影播放器​​控件可见/隐藏时的通知?

转载 作者:可可西里 更新时间:2023-11-01 03:55:12 30 4
gpt4 key购买 nike

我只是想知道是否可以在播放控件可见或隐藏时收到通知?

例如,我想呈现一个具有以下样式的视频:

self.moviePlayerController.controlStyle = MPMovieControlStyleEmbedded;

当视频开始播放时,播放控件会变得可见并自动消失。如果用户只是点击视频,就会出现控件。

我需要一个通知,以便我可以调整我的 View (在 MPMoviePlayerController View 下重新放置一些额外的按钮。那可能吗?因为不幸的是我在文档中没有找到任何东西。

最佳答案

恐怕这些事件没有记录在案的通知。

你可能很幸运,通过嗅探所有已发布的通知找到了一些东西,如下面的答案:

Trapping and tracing all notifications

How to receive NSNotifications from UIWebView embedded YouTube video playback


然而,有一种方法可以将您的控件与 MPMoviePlayerControler 的控件简单地链接起来。这种方式绝对没有记录,并且在尝试在 iTunes 上销售您的应用程序时确实存在被拒绝的强烈风险。

首先,您需要在 MPMoviePlayerController 中找到界面 View ,直到今天,当使用嵌入式界面时,它由一个名为 MPInlineVideoOverlay 的类表示。再次请注意,他的这个有很大的机会或打破,因为苹果可能会决定在任何一天使用不同的命名。

/**
* This quirky hack tried to locate the interface view within the supposingly opaque MPMoviePlayerController
* view hierachy.
* @note This has a fat chance of breaking and/or getting rejected by Apple
*
* @return interface view reference or nil if none was found
*/
- (UIView *)interfaceViewWithPlayer:(MPMoviePlayerController *)player
{
for (UIView *views in [player.view subviews])
{
for (UIView *subViews in [views subviews])
{
for (UIView *controlView in [subViews subviews])
{
if ([controlView isKindOfClass:NSClassFromString(@"MPInlineVideoOverlay")])
{
return controlView;
}
}
}
}
return nil;
}

如果返回正确的 View ,您只需使用 UIView addSubview: 将您自己的添加添加到它的界面上完成此操作后,您的控件将成为播放器界面的一部分,与其一起显示和隐藏(也遵循所有动画等)。

关于ios - 电影播放器​​控件可见/隐藏时的通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11560753/

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