186 lines
4.5 KiB
HTML
186 lines
4.5 KiB
HTML
|
<!DOCTYPE html>
|
|||
|
<html lang="en">
|
|||
|
<head>
|
|||
|
<meta charset="UTF-8">
|
|||
|
<title>Title</title>
|
|||
|
<script src="./jessibuca.js"></script>
|
|||
|
<style>
|
|||
|
.root {
|
|||
|
display: flex;
|
|||
|
place-content: center;
|
|||
|
margin-top: 3rem;
|
|||
|
}
|
|||
|
|
|||
|
.container-shell {
|
|||
|
backdrop-filter: blur(5px);
|
|||
|
background: hsla(0, 0%, 50%, 0.5);
|
|||
|
padding: 30px 4px 10px 4px;
|
|||
|
/* border: 2px solid black; */
|
|||
|
width: auto;
|
|||
|
position: relative;
|
|||
|
border-radius: 5px;
|
|||
|
box-shadow: 0 10px 20px;
|
|||
|
}
|
|||
|
|
|||
|
.container-shell:before {
|
|||
|
content: "jessibuca demo player";
|
|||
|
position: absolute;
|
|||
|
color: darkgray;
|
|||
|
top: 4px;
|
|||
|
left: 10px;
|
|||
|
text-shadow: 1px 1px black;
|
|||
|
}
|
|||
|
|
|||
|
#container {
|
|||
|
background: rgba(13, 14, 27, 0.7);
|
|||
|
width: 640px;
|
|||
|
height: 398px;
|
|||
|
}
|
|||
|
|
|||
|
.input {
|
|||
|
display: flex;
|
|||
|
margin-top: 10px;
|
|||
|
color: white;
|
|||
|
place-content: stretch;
|
|||
|
}
|
|||
|
|
|||
|
.input2 {
|
|||
|
bottom: 0px;
|
|||
|
}
|
|||
|
|
|||
|
.input input {
|
|||
|
flex: auto;
|
|||
|
}
|
|||
|
|
|||
|
.err {
|
|||
|
position: absolute;
|
|||
|
top: 40px;
|
|||
|
left: 10px;
|
|||
|
color: red;
|
|||
|
}
|
|||
|
|
|||
|
.option {
|
|||
|
position: absolute;
|
|||
|
top: 4px;
|
|||
|
right: 10px;
|
|||
|
display: flex;
|
|||
|
place-content: center;
|
|||
|
font-size: 12px;
|
|||
|
}
|
|||
|
|
|||
|
.option span {
|
|||
|
color: white;
|
|||
|
}
|
|||
|
|
|||
|
.page {
|
|||
|
background: url('./bg.jpg');
|
|||
|
background-repeat: no-repeat;
|
|||
|
background-position: top;
|
|||
|
}
|
|||
|
|
|||
|
@media (max-width: 720px) {
|
|||
|
#container {
|
|||
|
width: 90vw;
|
|||
|
height: 52.7vw;
|
|||
|
}
|
|||
|
}
|
|||
|
</style>
|
|||
|
</head>
|
|||
|
<body class="page">
|
|||
|
<div class="root">
|
|||
|
<div class="container-shell">
|
|||
|
<div id="container"></div>
|
|||
|
<div class="input">
|
|||
|
<div>输入URL:</div>
|
|||
|
<input
|
|||
|
autocomplete="on"
|
|||
|
id="playUrl"
|
|||
|
value=""
|
|||
|
/>
|
|||
|
<button id="play">播放</button>
|
|||
|
<button id="pause" style="display: none">停止</button>
|
|||
|
</div>
|
|||
|
<div class="input" style="line-height: 30px">
|
|||
|
<button id="destroy">销毁</button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<script>
|
|||
|
var $player = document.getElementById('play');
|
|||
|
var $pause = document.getElementById('pause');
|
|||
|
var $playHref = document.getElementById('playUrl');
|
|||
|
var $container = document.getElementById('container');
|
|||
|
var $destroy = document.getElementById('destroy');
|
|||
|
|
|||
|
var showOperateBtns = false; // 是否显示按钮
|
|||
|
var forceNoOffscreen = true; //
|
|||
|
var jessibuca = null;
|
|||
|
|
|||
|
function create() {
|
|||
|
jessibuca = new Jessibuca({
|
|||
|
container: $container,
|
|||
|
videoBuffer: 0.2, // 缓存时长
|
|||
|
isResize: false,
|
|||
|
text: "",
|
|||
|
loadingText: "",
|
|||
|
useMSE: false,
|
|||
|
debug: true,
|
|||
|
showBandwidth: showOperateBtns, // 显示网速
|
|||
|
operateBtns: {
|
|||
|
fullscreen: showOperateBtns,
|
|||
|
screenshot: showOperateBtns,
|
|||
|
play: showOperateBtns,
|
|||
|
audio: false,
|
|||
|
recorder: false
|
|||
|
},
|
|||
|
forceNoOffscreen: forceNoOffscreen,
|
|||
|
isNotMute: false,
|
|||
|
},);
|
|||
|
|
|||
|
jessibuca.on('audioInfo', function (audioInfo) {
|
|||
|
console.log('audioInfo',audioInfo);
|
|||
|
})
|
|||
|
|
|||
|
jessibuca.on('videoInfo', function (videoInfo) {
|
|||
|
console.log('videoInfo',videoInfo);
|
|||
|
})
|
|||
|
|
|||
|
$player.style.display = 'inline-block';
|
|||
|
$pause.style.display = 'none';
|
|||
|
$destroy.style.display = 'none';
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
create();
|
|||
|
|
|||
|
$player.addEventListener('click', function () {
|
|||
|
var href = $playHref.value;
|
|||
|
if (href) {
|
|||
|
jessibuca.play(href);
|
|||
|
$player.style.display = 'none';
|
|||
|
$pause.style.display = 'inline-block';
|
|||
|
$destroy.style.display = 'inline-block';
|
|||
|
}
|
|||
|
}, false)
|
|||
|
|
|||
|
|
|||
|
$pause.addEventListener('click', function () {
|
|||
|
$player.style.display = 'inline-block';
|
|||
|
$pause.style.display = 'none';
|
|||
|
jessibuca.pause();
|
|||
|
})
|
|||
|
|
|||
|
$destroy.addEventListener('click', function () {
|
|||
|
if (jessibuca) {
|
|||
|
jessibuca.destroy();
|
|||
|
}
|
|||
|
create();
|
|||
|
})
|
|||
|
|
|||
|
</script>
|
|||
|
|
|||
|
</body>
|
|||
|
</html>
|
|||
|
|