0

Add AirPlay player button

This commit is contained in:
Gabe Kangas 2020-06-15 19:55:32 -07:00
parent 285a7df390
commit d7229a8c6d
3 changed files with 29 additions and 0 deletions

View File

@ -165,5 +165,7 @@ possible hacks
<script src="js/utils.js"></script>
<script src="js/message.js"></script>
<script src="js/app.js"></script>
<script src="js/player/airplay.js"></script>
</body>
</html>

View File

@ -0,0 +1,23 @@
videojs.hookOnce('setup', function (player) {
if (window.WebKitPlaybackTargetAvailabilityEvent) {
var videoJsButtonClass = videojs.getComponent('Button');
var concreteButtonClass = videojs.extend(videoJsButtonClass, {
// The `init()` method will also work for constructor logic here, but it is
// deprecated. If you provide an `init()` method, it will override the
// `constructor()` method!
constructor: function () {
videoJsButtonClass.call(this, player);
}, // notice the comma
handleClick: function () {
const videoElement = document.getElementsByTagName('video')[0];
videoElement.webkitShowPlaybackTargetPicker();
}
});
var concreteButtonInstance = player.controlBar.addChild(new concreteButtonClass());
concreteButtonInstance.addClass("vjs-airplay");
}
});

View File

@ -377,4 +377,8 @@ header h1 {
height: 40vh;
height: calc((var(--vh, 1vh) * 40));
min-height: 300px;
}
.vjs-airplay .vjs-icon-placeholder::before {
content: 'AP';
}