Dynamically Creating an Audio Element in JavaScript
The first step to dynamically creating audio
elements is to create a global variable
named audioElement
. This variable
will hold an instance of HTMLAudioElement
that we will use in our
canvas application. Recall that audio
elements in an HTML page are instances of the HTMLAudioElement
DOM object. We refer to them
as audio
objects when embedded in an
HTML page and as instances of HTMLAudioElement
when created dynamically in
JavaScript. However, they are essentially the same.
Note
Don’t fret if you don’t like using global variables. By the end of this chapter, we will show you a way to make these variables local to your canvas application.
Next, we create our event handler for the window load
event named eventWindowLoaded()
. Inside that function, we
call the createElement()
function
of the DOM document
object, passing the value audio
as
the type of element to create. This will dynamically create an audio
object and put it into the DOM. By
placing that object in the audioElement
variable, we can then dynamically
place it onto the HTML page with a call to the appendChild()
method of the document.body
DOM
object:
window
.
addEventListener
(
'load'
,
eventWindowLoaded
,
false
);
var
audioElement
;
function
eventWindowLoaded
()
{
audioElement
=
document
.
createElement
(
"audio"
);
document
.
body
.
appendChild
(
audioElement
);
However, just having a dynamically created audio
element is not enough. We also need to
set the src
attribute of the HTMLAudioElement ...
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.