2014-11-24 3 views
0

У меня есть приложение, работающее через cordova/phonegap на Android. Мы фиксируем ориентацию на портрет, но если пользователь воспроизводит видео, мы хотели бы переключить пейзаж. Я следовал this post, но я не могу заставить его работать, потому что событие fullscreenchange запускается только при выходе из полноэкранного режима с помощью подставки, но не при входе в полноэкранный режим, щелкнув полноэкранный режим видеоконтроллера.android html5 video fullscreenchange не вызывается при вводе полноэкранного режима

Вот код:

$(document).on('webkitfullscreenchange fullscreenchange', handler) // -> handler not called on entering fullscreen 

Может быть, это браузер ошибка? Кто-нибудь еще испытал эту проблему или получил другое решение/обходное решение?

Протестировано на Android 4.x.

EDIT: Это может быть причиной? http://caniuse.com/#feat=fullscreen (без поддержки полноэкранного режима для android) - но он срабатывает при выходе из полноэкранного режима с помощью подгонки ...

ответ

1

Похоже, что webkitbeginfullscreen событие уволено.

Так что теперь я, вероятно, будет использовать что-то вроде этого:

videoEl.addEventListener('webkitbeginfullscreen', function() { 
    screen.lockOrientation('landscape-primary'); 
}, false); 
videoEl.addEventListener('webkitendfullscreen', function() { 
    screen.lockOrientation('portrait-primary'); 
}, false); 

См https://stackoverflow.com/a/22010698/2235793

ПРИМЕЧАНИЕ: Тез два события не произвели на стыке 5 под управлением Android 4.4.4 (внутри Cordova v3.6). Но там происходит событие webkitfullscreenchange при входе и выходе. Вздох.