2016-06-30 2 views
1

私はすべてを試しましたAVPlayerItem幸運の通知.... 通知がポストする必要があります何も起こっていません。AVPlayerItemが通知を発行しないのはなぜですか?

私はここでWKWebView

でWebサイトからビデオをダウンロードしようとしているが、それはあなたもオブザーバーを追加する前にpostNotificationを呼び出していることが表示されますSWIFT 3.0

override func viewDidLoad() { 
    super.viewDidLoad() 

    NotificationCenter.default().addObserver(self, selector: #selector(self.downloadAudioVisualItem), name: NSNotification.Name.AVPlayerItemNewAccessLogEntry, object: nil) 
} 

func downloadAudioVisualItem() { 
    print("Hello") 
} 

override func viewDidDisappear(_ animated: Bool) { 
    super.viewDidDisappear(false) 

    NotificationCenter.default().removeObserver(self) 
} 
+0

'downloadAudioVisualItem'を書いたコードを投稿してください。 – Dershowitz123

+0

私は説明を更新しました...しかし、このコードはすべてWKWebViewが利用可能なUIViewControllerで利用できます。 – Raffi

+0

私は関数 'downloadAudioVisualItem'を見なければなりません。私は、パラメータに何かがないと信じています。 – Dershowitz123

答えて

0

である私のコードです。私はオブザーバーが最初に呼び出されなければならないことを意味するので、通知だけを聞き始めることができます。

App Delegate

import AVFoundation

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 

     let MyGreatNotification = Notification.Name.AVPlayerItemNewAccessLogEntry 
     NotificationCenter.default().addObserver(self, selector: #selector(self.hello), name: MyGreatNotification, object: nil) 
     return true 
    } 

    func hello() 
    { 
     // Put break point here 
    } 

でこれを試してみて、このようなあなたの最初のビューコントローラに通知コードを掲示追加します。それはあなたのアプリケーションを実行してみます

import AVFoundation

override func viewDidLoad() { 
     super.viewDidLoad() 

     let MyGreatNotification = Notification.Name.AVPlayerItemNewAccessLogEntry 
     NotificationCenter.default().post(name: MyGreatNotification, object: self) 
    } 

、あなたはアプリがApp Delegatehelloという名前functionで壊れることがわかります。

まだわからない場合は、これを行うには、この投稿通知コードをApp Delegateに入れ、最初のビューコントローラーにオブザーバーコードを追加し、セレクターを追加してそこにブレークポイントを入れ、アプリを実行してみてください。あなたは、最初のビューコントローラのブレークポイントでアプリケーションが壊れていないことがわかります。

+0

私は掲示通知を呼び出すのではなく、 'AVPlayer'が自動的に投稿するべきではないでしょうか... ....もしそうでなければ、' WKWebView'から 'AVPlayerItem'をどうすればいいでしょうか? – Raffi

+0

' '' AVPlayer'''はあなたは何かが足りないと思っています。関連するキーを '' 'info.plist'''に追加しましたか? –

+0

ドキュメントの' info.plist'キーを見ることができません。あなたは私を助けますか? – Raffi

関連する問題