问题描述
有什么方法可以获取当前正在播放的视频的链接.我正在加载 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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!