1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 08:58:11 +00:00
serenity/Base/res/html/misc/video-webm.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>