1

私はWKWebViewを持っていると音声がWKWebViewから私のアプリケーションの中で再生されている現在のオーディオURLを取得するにはどうすればよいですか?

[[AVAudioSession sharedInstance] isOtherAudioPlaying] 

を使用して再生している場合、私はチェックしています私が使用してそれについていくつかの情報を取得しようとしました:

[MPNowPlayingInfoCenter defaultCenter] nowPlayingInfo] 

を、それはゼロでした。

は、次に私が試した:

[[MPMusicPlayerController systemMusicPlayer] nowPlayingItem] 

、それも皆無でした。

現在再生中のオーディオのURLを取得するにはどうすればよいですか?

答えて

0

あなたは通知にサブスクライブする必要があります。その後、

[[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];} 
0

音声が再生されているとき、あなたはすでに検出することができますとして、私はあなたのためのソリューションは、WKNavigationDelegateからdecidePolicyForNavigationAction方法を実現することだと思います。

あなたがすでに行ったオーディオ検出に関連付けられたリンクがクリックされたときに呼び出されるこのデリゲートメソッドによって提供される情報を組み合わせることができます。

+0

を行ういいえ、これはオーディオbuttons.Whenのために働いていないあなたは、この方法ではありませんそれらをklick呼び出し。 –

+0

あなたがしようとしていることを誤解していると思うので、あなたがしようとしていることを少し詳しく説明してください。 – kallahir

+0

まあ私は、内蔵のWKWebView.Userボタンを使って曲やビデオを再生するファイルダウンローダを作ろうとしています。このオーディオやビデオをダウンロードするかどうかを尋ねる警告を表示します。この質問の情報http://stackoverflow.com/questions/42459538/method-decidepolicyfornavigationaction-is-not-called-some-timesと私はこの機能を行うアプリのリンクを与えました –

関連する問題