Wt: Wt::WAudio Class Reference

Wt 3.3.0

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Hierarchy
- Class Members

Public Member Functions
Wt::WAudio Class Reference

A widget that plays audio. More...

`#include <Wt/WAudio>`

Inheritance diagram for Wt::WAudio:
[legend]

List of all members.

## Public Member Functions
| WAudio (WContainerWidget *parent=0)
| Creates a audio widget.
std::string | jsAudioRef () const
| Returns the JavaScript reference to the audio object, or null.

## Detailed Description

A widget that plays audio.

This is a low-level widget, mapping directly onto a `<audio>` element available in HTML5 compliant browsers.

In almost every situation you should use the WMediaPlayer widget if you want the user to be able to interact with the audio, or WSound for simple sound feed-back.

Usage of the audio element consists of adding one or more audio sources and setting some options. Since not every browser supports HTML5 audio, the class provides a mechanism to display alternative content in browsers that cannot play the video.

Usage example:

     WAudio *a = new WAudio(parent);
     v->setOptions(WAudio::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).

The addSource() and setAlternativeContent() may not be called after the widget is rendered.

See also:
  WMediaPlayer

Note:
  Before Wt 3.1.11, this was called WHTML5Audio, which still exists as a (deprecated) typedef.

## Constructor & Destructor Documentation

WAudio::WAudio | ( | WContainerWidget * | parent = `0` | ) |

Creates a audio widget.

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

## Member Function Documentation

std::string WAudio::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