1

我有一个WKWebView,我正在检查音频是否正在播放

[[AVAudioSession sharedInstance] isOtherAudioPlaying] 

我尝试使用以下方法获取有关它的一些信息:

  [MPNowPlayingInfoCenter defaultCenter] nowPlayingInfo]

但它是零。

然后我尝试了:

 [[MPMusicPlayerController systemMusicPlayer] nowPlayingItem]

它也为零。

如何获取当前播放音频的 URL?

4

2 回答 2

1

您需要订阅通知:

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

然后在内部方法中执行此操作playerItemBecameCurrent

-(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];}
于 2017-03-06T17:05:46.580 回答
0

由于您已经可以检测到何时播放音频,我认为您的解决方案将是从WKNavigationDelegate实现decisionPolicyForNavigationAction方法。

您可以组合此委托方法提供的信息,只要单击与您已经完成的音频检测相关联的链接,就会调用该方法。

于 2017-02-25T02:00:27.937 回答