Public Member Functions

Wt::WHTML5Audio Class Reference

A widget that plays audio using the HTML5 audio element. More...

#include <Wt/WHTML5Audio>

Inheritance diagram for Wt::WHTML5Audio:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 WHTML5Audio (WContainerWidget *parent=0)
 Creates a HTML5 audio widget.
std::string jsAudioRef () const
 Returns the JavaScript reference to the audio object, or null.

Detailed Description

A widget that plays audio using the HTML5 audio element.

This class plays HTML5 audio. In a typical usage scenario, you instantiate the class, set options, and add one or multiple audio sources. The browser will play the first audio stream that it is capable to play back.

Since not every browser supports HTML5 audio, the class provides a mechanism to display alternative content in browsers that cannot play the audio. A Flash based player, configured to play the same audio file, is an example of sensible alternative content.

Usage example:

 WHTML5Audio *a = new WHTML5Audio(parent);
 v->setOptions(WHTML5Media::Autoplay | WHTML5Media::Controls);
 // Addsources may be called multiple times for different formats:
 // Firefox only plays ogg
 a->addSource("the_wt_song.ogg");
 // many others play mp3
 a->addSource("the_wt_song.mp3", "audio/mp3");
 // You may display a simple text to explain that you need html5 support...
 // a->setAlternativeContent(new WText("You have no HTML5 Audio!"));
 // ... or provide an alternative player, e.g. Flash-based
 WFlashObject *f = new WFlashObject("player.swf");
 f->setFlashVariable("src", "the_wt_song.mp3");
 v->setAlternativeContent(f);

There are two reasons why the a browser may use the alternative content: either because the browser does not support the HTML5 audio tag (alternative content is displayed even when JavaScript is not available), or because none of the specified sources contain an audio format that is understood by the browser (requires JavaScript to display the alternative content).

addSource() and setAlternativeContent() must not be called after the WHTML5Audio was rendered. This can easily be avoided by calling these functions right after construction.

This is a technology-specific class. To let Wt choose a technology (and fallback technologies) to display your videos, use the WSound class.

See also:
WHTML5Media, WSound

Constructor & Destructor Documentation

WHTML5Audio::WHTML5Audio ( WContainerWidget parent = 0 )

Creates a HTML5 audio widget.

A freshly constructed HTML5Audio widget has no media sources, no options, and has preload mode set to PreloadAuto.


Member Function Documentation

std::string WHTML5Audio::jsAudioRef (  ) const

Returns the JavaScript reference to the audio object, or null.

It is possible, for browser compatibility reasons, that jsRef() is not the HTML5 audio element. jsAudioRef() is guaranteed to be an expression that evaluates to the media object. This expression may yield null, if the video object is not rendered at all (e.g. on older versions of Internet Explorer).

 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator

Generated on Fri Jul 8 2011 for the C++ Web Toolkit (Wt) by doxygen 1.7.2