Move to landscape on mobile fullscreen
This commit is contained in:
parent
f1a0555a88
commit
e98ef69d1c
|
@ -1,5 +1,5 @@
|
||||||
import videojs from 'video.js'
|
|
||||||
import './peertube-mobile-buttons'
|
import './peertube-mobile-buttons'
|
||||||
|
import videojs from 'video.js'
|
||||||
|
|
||||||
const Plugin = videojs.getPlugin('plugin')
|
const Plugin = videojs.getPlugin('plugin')
|
||||||
|
|
||||||
|
@ -9,6 +9,23 @@ class PeerTubeMobilePlugin extends Plugin {
|
||||||
super(player, options)
|
super(player, options)
|
||||||
|
|
||||||
player.addChild('PeerTubeMobileButtons')
|
player.addChild('PeerTubeMobileButtons')
|
||||||
|
|
||||||
|
if (videojs.browser.IS_ANDROID && screen.orientation) {
|
||||||
|
this.handleFullscreenRotation()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private handleFullscreenRotation () {
|
||||||
|
this.player.on('fullscreenchange', () => {
|
||||||
|
if (!this.player.isFullscreen() || this.isPortraitVideo()) return
|
||||||
|
|
||||||
|
screen.orientation.lock('landscape')
|
||||||
|
.catch(err => console.error('Cannot lock screen to landscape.', err))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
private isPortraitVideo () {
|
||||||
|
return this.player.videoWidth() < this.player.videoHeight()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue