當我點擊一張圖片時,顯示一個帶有視頻的彈出窗口。在彈出窗口中,視頻自動啓動。問題是我沒有與視頻交互(播放,暫停等)。所以現在,我找到了將其與AVPlayerItemDidPlayToEndTimeNotification循環的方式,但我希望用戶有能力播放/暫停。 這裏是我的代碼:當我將其放入彈出窗口中時,我沒有與視頻播放器的交互
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(itemDidFinishPlaying:) name:AVPlayerItemDidPlayToEndTimeNotification object:player];
NSURL *url = [NSURL fileURLWithPath:mediaPath];
player = [[AVPlayer alloc] initWithURL: url];
controller = [[AVPlayerViewController alloc] init];
controller.player = player;
controller.delegate = self;
controller.showsPlaybackControls = YES;
UIImageView *popView = [[[[[[NSBundle mainBundle] loadNibNamed:mediaType owner:self options:nil] objectAtIndex:0] viewLoadedFromXib] subviews] objectAtIndex:0];
[controller.view setFrame:CGRectMake(0, 0, 850, 600)];
[popView addSubview:controller.view];
[player play];
我精確的,當我點擊視頻,與暫停視頻欄下方出現,但是當我按一下按鈕,沒有任何反應。
1ST編輯:看起來有一個AVTouchIgnoringView已由AVPlayerViewController自動添加。看起來有一個與UserInteraction的鏈接......但我試圖把它放到YES沒有成功。可能是我不這樣做的好看法。有任何想法嗎 ?
2ND編輯:這是增加了AVTouchIgnoringView的SETFRAME。所以你知道我怎樣才能改變框架的大小,而不會自動添加AVTouchIgnoringView?
是否有任何理由你不只是呈現AVPlayerViewController爲模式的看法?我不會建議像這樣展示它。在負責所有這些的視圖控制器上使用presentViewController:animated:方法。查看展示視圖控制器的部分https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/ – GCBenson
我想將它作爲演示文稿彈出顯示。我有一張地圖,我想彈出一個視頻,地圖背後。客戶希望地圖總是顯示在後面(在iPad上)。我不明白爲什麼它不起作用,因爲當我點擊視頻兩次,有一個縮放,所以這意味着我有它的手,但我不能用下面的酒吧暫停視頻。非常奇怪... – Claudio
看看UIPopoverPresentaionController,它會正確地呈現視圖控制器作爲iPad上的彈出窗口,但在iPhone上顯示全屏。這裏有大量的在線資源,所以我不需要在這裏發佈任何內容。 – GCBenson