UIWebView 視頻播放獲取開始播放和結束播放通知


公司項目中,要求播放優酷視頻,因爲優酷官方視頻iOS SDK 太大(100M 以上)導入後致使項目打包文件過大,並且播放界面沒法自定義。因此採用了拼接視頻播放 URL,調用 UIWebView 播放視頻。ide

在UIWebView中點擊播放視頻,不能準確獲取視頻播放器開始顯示和 結束顯示的方法。查找了網上的解決方案,大可能是 使用監聽通知UIMoviePlayerControllerDidEnterFullscreenNotificatio MPMoviePlayerControllerDidEnterFullscreenNotification, 而後在去控制屏幕的旋轉。spa

可是這方案iOS8之後就已經失效了,目前沒法使用了。code

 

要實現用戶打開播放器和關閉播放起的事件。
網上找了解決方案決定採用客戶端接收系統通知實現 這兩個事件的獲取視頻

方法:使用系統通知
當點擊視頻加載出MPMoviewController的時候,至關於在Window上加了一層,會觸發到下面兩個通知。// 播放器即將播放通知server

 [[NSNotificationCenter defaultCenter] addObserver:self                selector:@selector(videoStarted:)                            name:UIWindowDidBecomeVisibleNotification
                          object:self.view.window];
// 播放器即將退出通知 [[NSNotificationCenter defaultCenter] addObserver:self                         selector:@selector(videoFinished:)                           name:UIWindowDidBecomeHiddenNotification                          object:self.view.window];

 



獲取到這兩個事件後,處理邏輯blog

- (void)videoStarted:(NSNotification *)notification {
    //NSLog(@"視頻 開始 播放");
}

- (void)videoFinished:(NSNotification *)notification {
    //NSLog(@"視頻 結束 播放");

    if ([self.loadingView isAnimating]) {
        [self.requestWebViewButton setHidden:NO];
        [self.loadingView stopAnimating];
        self.isFinishLoad = YES;
    }
}        
相關文章
相關標籤/搜索