如何在UIWebview中获取当前播放视频的url

如何在UIWebview中获取当前播放视频的url

本文介绍了如何在UIWebview中获取当前播放视频的url的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有什么方法可以获取当前正在播放的视频的链接.我正在加载 m.youtube.com .对于某些视频,它甚至没有进入代表.我也尝试使用 NStimer.但对于某些视频,它不是点击的 url

Is there any way to get the link of currently playing video.I am loading m.youtube.com .For some videos it is not even entering the delegates.I tried using a NStimer as well.But for some videos it is not the clicked url

推荐答案

通过侦听 AVPlayerItemBecameCurrentNotification 通知来实现这一点的方法很笨拙.当 UIWebView 显示媒体播放器时会触发此通知,并发送一个 AVPlayerItem 作为通知的对象.

There is a hacky way of doing it by listening for the AVPlayerItemBecameCurrentNotification notification. This notification is fired when a UIWebView shows the media player, and it sends an AVPlayerItem as the notification's object.

例如:

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(playerItemBecameCurrent:)
                                             name:@"AVPlayerItemBecameCurrentNotification"
                                           object:nil];


-(void)playerItemBecameCurrent:(NSNotification*)notification {
    AVPlayerItem *playerItem = [notification object];
    if(playerItem == nil) return;
    // Break down the AVPlayerItem to get to the path
    AVURLAsset *asset = (AVURLAsset*)[playerItem asset];
    NSURL *url = [asset URL];
    NSString *path = [url absoluteString];
}

这适用于任何视频(和音频).但是,我注意到您提到了 YouTube - 值得指出的是,如果您的应用能够下载 YouTube 视频完全,Apple 拒绝您的应用,因为它反对 YouTube 的服务条款.

This works for any video (and audio). However, I noticed you mentioned YouTube - it's worth pointing out Apple WILL reject your app if it has the ability to download YouTube videos AT ALL, because it's against YouTube's Terms of Service.

这篇关于如何在UIWebview中获取当前播放视频的url的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-30 23:22