mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 08:58:11 +00:00
117 lines
3.4 KiB
HTML
117 lines
3.4 KiB
HTML
<html>
|
|
<head>
|
|
<style type="text/css">
|
|
video {
|
|
border: 1px solid #333;
|
|
}
|
|
|
|
table, td {
|
|
border: 1px solid #333;
|
|
border-collapse: collapse;
|
|
}
|
|
|
|
thead, tfoot {
|
|
background-color: #333333;
|
|
color: #ffffff;
|
|
}
|
|
|
|
.horizontal > * {
|
|
display: inline-block;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class=horizontal>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th colspan="2">Metadata</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>ID</td>
|
|
<td id=id>null</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Is Selected</td>
|
|
<td id=selected>false</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Width</td>
|
|
<td id=width>0px</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Height</td>
|
|
<td id=height>0px</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th colspan="2">Playback State</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>Current Time</td>
|
|
<td id=time>0.00 seconds</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Duration</td>
|
|
<td id=duration>0.00 seconds</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Play State</td>
|
|
<td id=state>paused</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Ended</td>
|
|
<td id=ended>false</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<br />
|
|
|
|
<video id=video controls src="file:///home/anon/Videos/test-webm.webm"></video>
|
|
|
|
<script type="text/javascript">
|
|
let video = document.getElementById('video');
|
|
|
|
video.videoTracks.onaddtrack = (event) => {
|
|
document.getElementById('id').textContent = event.track.id;
|
|
document.getElementById('selected').textContent = event.track.selected;
|
|
};
|
|
|
|
video.addEventListener('timeupdate', () => {
|
|
document.getElementById('time').textContent = `${video.currentTime.toFixed(2)} seconds`;
|
|
});
|
|
|
|
video.addEventListener('durationchange', () => {
|
|
document.getElementById('duration').textContent = `${video.duration.toFixed(2)} seconds`;
|
|
});
|
|
|
|
video.addEventListener('loadedmetadata', () => {
|
|
document.getElementById('width').textContent = `${video.videoWidth}px`;
|
|
document.getElementById('height').textContent = `${video.videoHeight}px`;
|
|
});
|
|
|
|
video.addEventListener('playing', () => {
|
|
document.getElementById('state').textContent = 'playing';
|
|
document.getElementById('ended').textContent = video.ended;
|
|
});
|
|
video.addEventListener('waiting', () => {
|
|
document.getElementById('state').textContent = 'waiting';
|
|
document.getElementById('ended').textContent = video.ended;
|
|
});
|
|
video.addEventListener('pause', () => {
|
|
document.getElementById('state').textContent = 'paused';
|
|
document.getElementById('ended').textContent = video.ended;
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|