

Div id = X: This is the div that displays the play or pause image, depending on the audio control's state.To make things manageable, I followed a simple convention: Unlike what you see in Figure 2 with the default Audio Control display, you now have parity between desktop and mobile browsers. Listing 1: Sound clip HTML įigure 3: Rendered display for the HTML in Listing 1.

The HTML, listed in Listing 1 for this solution, is very simple and is illustrated in Figure 3. It never ceases to amaze me how often developers certify that something works without at least some rudimentary testing to verify that assertion.
#Html5 audio controls code
By going this route, I know for certain that you can take this code and work with it regardless of whatever frameworks and libraries you've chosen. You also get to dispense with the Angular versus Knockout versus Ember versus whatever arguments.
#Html5 audio controls how to
For purposes of this article, I want to focus on the Audio Control itself and how to make it work with the basics. However, it's also important to understand that such things are not always required. JavaScript frameworks and libraries can be valuable. That means that there are no dependencies on additional frameworks and libraries. To fully illustrate how to make things work regardless of platform, I'll use baseline JavaScript and CSS. Stated simply, if your team isn't undertaking this sort of diligence, they're doing it wrong! JavaScript and CSS to the Rescue You have to make sure that cases on the desktop where you account for a mouse click are compatible with the finger gestures employed on a mobile device. Consider the fact that with mobile devices, there is no mouse. This extends to cases where something must work on a mobile device and such certifications are issued in spite of never having run the application on a mobile device! Too often, the assumption is made that if it works on the desktop, it works on a mobile device. It never ceases to amaze me how often developers certify that something is working without at least some rudimentary testing to verify that assertion. The disparity between the desktop and mobile versions underscores the importance of testing. The Importance of Testing with Different Browsers and Devices Fortunately, there's a remedy with JavaScript and CSS!įigure 2: Depending on your device, the HTML5 Audio Control with the Controls option set may not be functional. The important takeaway is that for most cases, the HTML5 Audio Control's visual facilities are useless. Even in the desktop scenario, there's no way to style the visual appearance. The main point is that unless your Web application is limited to the desktop, which isn't likely, the HTML5 Audio Control default visual features won't prove to be very useful. The fact that it's Chrome doesn't matter.

The iPhone browser, Google Chrome in this case, is broken. Looking to Figure 2, you can see simple markup that is rendered in two very different ways. That concern has not been totally alleviated. Not too long ago, there was legitimate concern over whether all browsers supported HTML5. The HTML5 Audio Control has the capacity to alleviate a lot of work. Your browser does not support the audio element. The following code illustrates a simple usage:
