【问题标题】:Notified when media player opens from UIWebView?从 UIWebView 打开媒体播放器时通知?
【发布时间】:2011-09-18 06:27:36
【问题描述】:

我的应用中有一个UIViewController,其中有一个UIWebViewUIWebView 是固定大小的,并配置为在新的UIViewController(浏览器)中打开任何链接。这可行,但是当我尝试从 Web 视图中单击 YouTube 或 Vimeo 等视频时,它会在视图控制器顶部打开。这通常不会成为问题,但我有一个重叠的视图,需要在发生这种情况时收到一条消息才能让开。

当媒体播放器从UIWebView 中弹出时,是否有通知或任何其他方式可以通知我的视图控制器?我真的需要这个更好地工作,因为它现在的样子真的很丑。

谢谢!

【问题讨论】:

    标签: iphone user-controls uiwebview notifications media-player


    【解决方案1】:

    发件人:http://www.alexcurylo.com/blog/2009/08/24/snippet-playing-youtube-videos/

    不幸的是,没有直接控制或加载、进度、退出等通知。但是,您可以根据应用程序的窗口状态获得一些间接通知:添加到您的视图控制器中

    [[NSNotificationCenter defaultCenter]
    addObserver:self
    selector:@selector(windowNowVisible:)
    name:UIWindowDidBecomeVisibleNotification
    object:self.view.window
    ];
    
    [[NSNotificationCenter defaultCenter]
    addObserver:self
    selector:@selector(windowNowHidden:)
    name:UIWindowDidBecomeHiddenNotification
    object:self.view.window
    ];
    

    在 YouTube 窗口显示和消失时分别调用它们。

    - (void)windowNowVisible:(NSNotification *)notification
    {
       NSLog(@"Youtube/ Media window appears");
    }
    
    
    - (void)windowNowHidden:(NSNotification *)notification 
    {
       NSLog(@"Youtube/ Media window disappears."); 
    }
    

    嘿,如果这就是你所需要的通知方式,那你很好!

    【讨论】:

    • 我实际上只是需要它,只是为了让我知道何时将其他物体移开!非常感谢! :)(不过,我会将这个问题保留几天。)
    • 这适用于 youtube 视频,但不适用于 vimeo!它可能与 HTML5 有关吗? (仍然是正确答案,接受并奖励赏金:))
    • 呃,一定是,你是自己嵌入视频吗?
    • 如果是这样,那么您可能会使用 JavaScript 找出播放停止/开始的时间,然后与您的应用进行通信:stackoverflow.com/questions/1662473/…
    • 不,它是通过 vimeo 的 oEmbed-javascript 类嵌入的:vimeo.com/api/docs/oembed
    猜你喜欢
    • 2012-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    • 1970-01-01
    • 2020-05-10
    相关资源
    最近更新 更多