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

Jef*_*eff 4 youtube uiwebview ios uiwebviewdelegate

有没有办法获得当前播放视频的链接.我正在加载m.youtube.com.对于一些视频,它甚至没有进入代表.我也尝试使用NStimer.但对于一些视频,它不是点击网址

tta*_*rik 12

通过收听AVPlayerItemBecameCurrentNotification通知有一种hacky方式.当UIWebView显示媒体播放器时会触发此通知,并将其AVPlayerItem作为通知的对象发送.

例如:

[[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];
}
Run Code Online (Sandbox Code Playgroud)

这适用于任何视频(和音频).不过,我注意到你提到YouTube的-这是值得指出的是苹果WILL拒绝您的应用程序,如果它有下载YouTube视频的能力在所有的,因为它是针对YouTube的服务条款.