HTML5 Video Properties
We have already talked about some properties of HTMLVideoElement
(inherited from HTMLMediaElement
), but now that we have a
video loaded onto the canvas, it would be interesting to see them in
action.
In this example, we are going to display seven properties of a
playing video, taken from the HTMLVideoElement
object: duration
,
currentTime
, loop
, autoplay
, muted
, controls
, and volume
. Of these, duration
, loop
, and autoplay
will not update because they are set
when the video is embedded. Also, because we call the play()
function of the video after it is preloaded in JavaScript, autoplay
can be set to false
but the video will play anyway. The
other properties will update as the video is played.
To display these values on the canvas, we will draw them as text
in the drawScreen()
function
called by setInterval()
.The drawScreen()
function that we have created to
display these values is as follows:
function
drawScreen
()
{
//Background
context
.
fillStyle
=
'#ffffaa'
;
context
.
fillRect
(
0
,
0
,
theCanvas
.
width
,
theCanvas
.
height
);
//Box
context
.
strokeStyle
=
'#000000'
;
context
.
strokeRect
(
5
,
5
,
theCanvas
.
width
−
10
,
theCanvas
.
height
−
10
);
//video
context
.
drawImage
(
videoElement
,
85
,
30
);
// Text
context
.
fillStyle
=
"#000000"
;
context
.
fillText
(
"Duration:"
+
videoElement
.
duration
,
10
,
280
);
context
.
fillText
(
"Current time:"
+
videoElement
.
currentTime
,
260
,
280
);
context
.
fillText
(
"Loop: "
+
videoElement
.
loop
,
10
,
290
);
context
.
fillText
(
"Autoplay: "
+
videoElement
.
autoplay
,
100 ...
Get HTML5 Canvas, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.