Как узнать, когда плеер/плагин Youtube на iPad переходит в полноэкранный режим?

Есть ли способ узнать, когда проигрыватель/плагин Youtube на iPad переходит в полноэкранный режим?

У меня есть UIWebview, отображаемый внутри контроллера модального представления, который содержит видео Youtube. Если пользователь выбирает просмотр видео Youtube в полноэкранном режиме, оно отображается в полноэкранном режиме (естественно), но за модальным представлением UIWebview.

Я хотел бы знать, отправляется ли какое-либо уведомление или сообщение делегата, когда видео начинает воспроизводиться в полноэкранном режиме, чтобы я мог отклонить свой контроллер модального представления (или каким-то образом вывести полноэкранное видео Youtube на передний план).

Заранее спасибо.


person Eduardo Coelho    schedule 01.10.2010    source источник


Ответы (3)


Я думаю, что лучший способ:
1°) Знать это с помощью JS (потому что он находится внутри UIWebView), например, добавить событие click() в объект youtube.
2°) Выполнить действие JS и поймать это с UIWebViewDelegate

Возможно, есть лучшее решение.

Удачи !

person Vinzius    schedule 01.10.2010
comment
Спасибо за ответ Винзиус. Я попробую ваш подход. Я действительно ничего не знаю о специфике Javascript. Не могли бы вы указать мне какое-нибудь руководство по отправной точке для достижения того, что вы предложили? Спасибо - person Eduardo Coelho; 04.10.2010
comment
Вам следует взглянуть на jqtouch.com && jquery.com, которые являются хорошим подспорьем :-) Вам просто нужно добавить click(); событие на объекте youtube. Затем, чтобы отправить сигнал делегату веб-просмотра, пытаясь получить доступ к странице (с - (BOOL) webView: (UIWebView *) webView shouldStartLoadWithRequest: (NSURLRequest *) request navigationType: (UIWebViewNavigationType) navigationType) - person Vinzius; 04.10.2010

Для всех, кто заинтересован, я нашел альтернативный обходной путь для этого.

Я создал собственный унаследованный класс UIView для представления, содержащего веб-просмотр. В ответ на событие (BOOL)pointInside, если событие касания произошло в пределах координат полноэкранной кнопки YouTube в правом нижнем углу, я передал уведомление, чтобы вызвать закрытие modalviewcontroller.

Немного некрасиво, но это работает для меня!

person 3advance    schedule 05.08.2011

Согласно @prabhu-natarajan

в ViewDidLoad добавьте следующий код

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

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

Следующие методы предназначены для отображения сообщений/функций для соответствующего процесса входа/выхода в/из полноэкранного режима.

- (void)VideoExitFullScreen:(id)sender{
 // Your respective content/function for Exit from full screen
}

- (void)VideoEnterFullScreen:(id)sender{
// Your respective content/function for Enter to full screen
}

From: Эта ссылка

person g212gs    schedule 18.07.2014