Phonon Namespace

The Phonon namespace contains classes and functions for multimedia applications. More...

 #include <Phonon>

This namespace was introduced in Qt 4.4.


    namespace BackendCapabilities


    class AudioDataOutput
    class AudioOutput
    class Effect
    class EffectParameter
    class EffectWidget
    class MediaController
    class MediaNode
    class MediaObject
    class MediaSource
    class ObjectDescription
    class Path
    class SeekSlider
    class VideoPlayer
    class VideoWidget
    class VideoWidgetInterface44
    class VolumeSlider


    typedef AudioOutputDevice
    typedef AudioOutputDeviceModel
    enum Category { NoCategory, NotificationCategory, MusicCategory, VideoCategory, CommunicationCategory, GameCategory }
    enum DiscType { NoDisc, Cd, Dvd, Vcd }
    typedef EffectDescription
    typedef EffectDescriptionModel
    enum ErrorType { NoError, NormalError, FatalError }
    enum MetaData { ArtistMetaData, AlbumMetaData, TitleMetaData, DateMetaData, ..., MusicBrainzDiscIdMetaData }
    enum ObjectDescriptionType { AudioOutputDeviceType, EffectType }
    enum State { LoadingState, StoppedState, PlayingState, BufferingState, PausedState, ErrorState }
    typedef VideoWidgetInterfaceLatest


    QString categoryToString ( Category c )
    Path createPath ( MediaNode * source, MediaNode * sink )
    MediaObject * createPlayer ( Phonon::Category category, const MediaSource & source = MediaSource() )
    const char * phononVersion ()

    Detailed Description

    The Phonon namespace contains classes and functions for multimedia applications.

    This namespace contains classes to access multimedia functions for audio and video playback. Those classes are not dependent on any specific framework, but rather use exchangeable backends to do the work.

    See the Phonon Module page for general information about the framework and the Phonon Overview for an introductory tour of its features.


    namespace Phonon::BackendCapabilities

    The BackendCapabilities namespace contains functions to describe the capabilities of the multimedia backend.

    This namespace was introduced in Qt 4.4.


    class AudioDataOutput

    The AudioDataOutput class provides access to audio data. More...

    class AudioOutput

    The AudioOutput class is used to send data to audio output devices. More...

    class Effect

    The Effect class is used to transform audio streams. More...

    class EffectParameter

    The EffectParameter class describes one parameter of an effect. More...

    class EffectWidget

    The EffectWidget class provides a widget to control the parameters of an Effect. More...

    class MediaController

    The MediaController class controls optional features of a media file/device. More...

    class MediaNode

    The MediaNode class is the base class for all nodes in a media graph. More...

    class MediaObject

    The MediaObject class provides an interface for media playback. More...

    class MediaSource

    The MediaSource class provides multimedia data for media objects. More...

    class ObjectDescription

    The ObjectDescription class provides information about Phonon objects. More...

    class Path

    The Path class describes connections between media nodes. More...

    class SeekSlider

    The SeekSlider class provides a slider for seeking to positions in media streams. More...

    class VideoPlayer

    The VideoPlayer widget is used to perform playback of video. More...

    class VideoWidget

    The VideoWidget class provides a widget that is used to display video. More...

    class VideoWidgetInterface44

    class VolumeSlider

    The VolumeSlider widget provides a slider that is used to control the volume of an audio output device. More...

    Type Documentation

    typedef Phonon::AudioOutputDevice

    This typedef of ObjectDescription describes an audio output device, such as soundcards (with different drivers), sound servers, or other virtual outputs like playback on a different computer on the network.

    A list of available devices is given by the backend with Backendcapabilities::availableAudioOutputDevices()

         QList<Phonon::AudioOutputDevice> audioOutputDevices =

    typedef Phonon::AudioOutputDeviceModel

    provides an item view model containing available audio output devices.

    enum Phonon::Category

    Sets the category your program should be listed in in the mixer.

    Phonon::NoCategory-1Will make use of the default device.
    Phonon::NotificationCategory0If the sounds produced are notifications (ping, beep and such) you should use this category.
    Phonon::MusicCategory1If your application is a music player (like a jukebox or media player playing an audio file).
    Phonon::VideoCategory2If the sound is the audio channel of a video.
    Phonon::CommunicationCategory3If your applications produces sounds from communication with somebody else (VoIP, voice chat).
    Phonon::GameCategory4Sound produced by a computer game should go into this category.
    Phonon::AccessibilityCategory5Sounds produced for accessibility (e.g., Text-To-Speech) Holds the largest value of categories.

    A Jukebox will set this to Music, a VoIP program to Communication, a DVD player to video, and so on.

    Note: These categories can also become useful for an application that controls the volumes automatically, like turning down the music when a call comes in, or turning down the notifications when the media player knows it's playing classical music.

    enum Phonon::DiscType

    Enum to identify the media discs supported by MediaObject.

    Phonon::NoDisc-1No disc was selected. This is only useful as a return value from MediaSource::diskType().
    Phonon::Cd0Identifies Audio CDs.
    Phonon::Dvd1Identifies DVDs (not arbitrary data DVDs, only movie DVDs).
    Phonon::Vcd2Identifies Video CDs.

    See also MediaSource and MediaObject.

    typedef Phonon::EffectDescription

    EffectDescription gives a description of an audio effect. It is a typedef of the ObjectDescription class. Please see its class description for details.

    EffectDescription is used to create audio Effects, which can be inserted into a media graph, altering an audio stream.

    See also Phonon::ObjectDescription, Capabilities Example, and Media Player.

    typedef Phonon::EffectDescriptionModel

    provides a item view model containing available audio effects.

    enum Phonon::ErrorType

    This enum describes the severity when an error has occurred during playback.

    After a media object has entered the ErrorState, one can query the type of error from MediaObject::errorType(). Note that you should query the error when receiving the MediaObject::stateChanged() signal, because the error type will be lost if the media object leaves the error state.

    Phonon::NoError0No error. MediaObject::errorType() returns this if MediaObject::state() != Phonon::ErrorState.
    Phonon::NormalError1An error has occurred with the playback of the current source. It might be possible to continue playback, for instance, if only the audio stream in a video cannot be played back. The media object will then leave the error state again.
    Phonon::FatalError2. Something important does not work. Your program cannot continue the playback of the current source, but it might be possible to try another.

    See also MediaObject::errorType().

    enum Phonon::MetaData

    Provided as keys for Phonon::MediaObject::metaData(). The enum values matches strings defined in the Ogg Vorbis specification


    enum Phonon::ObjectDescriptionType

    This enum defines the type of information that is contained in a ObjectDescription object.

    Phonon::AudioOutputDeviceType0An audio output device (AudioOutputDevice). This can be soundcards (with different drivers), sound servers, or other virtual outputs like playback on a different computer on the network.
    Phonon::EffectType1An audio effect (EffectDescription).

    enum Phonon::State

    The state enum describes the different states a media object can take. Several functions of MediaObject are asynchronous, so even if a you have requested a state change through a function call, e.g., through play(), you cannot be sure that the change has taken place before you receive the stateChanged() signal.

    A media object can at any time change into any state, regardless of the state it previously had.

    Phonon::LoadingState0After construction it might take a while before the media object is ready to play(). This state is commonly used by backends to initialize the media graph and loading the source. When the object leaves the loading state, it will enter the StoppedState unless an error occurred or another state is requested through a function call, e.g., MediaObject::play().
    Phonon::StoppedState1In the stopped state, the media object is ready to play its current media source. The current position in the media stream is then 0.
    Phonon::PlayingState2The media object is playing back its media source.
    Phonon::BufferingState3The Player is waiting for data to be able to start or continue playing. This state is commonly used to wait for media data over a network connection.
    Phonon::PausedState4The media player has currently paused its playback, i.e., it stops playing but keeps the current playback position in the stream.
    Phonon::ErrorState5When a media object enters the error state a problem with the playback has occurred. The possible errors are grouped into two categories by Phonon::ErrorType, and the type can be queried through errorType(). A FatalError implies that the playback cannot continue, but one can still try with a new media source. With a NormalError it might be possible to continue playback, and a media object may therefore change state from the ErrorState.

    This enum was introduced or modified in Qt 4.4.

    See also MediaObject.

    typedef Phonon::VideoWidgetInterfaceLatest

    This typedef was introduced in Qt 4.7.

    Function Documentation

    QString Phonon::categoryToString ( Category c )

    Returns a (translated) string to show to the user identifying the given Category (c).

    Path Phonon::createPath ( MediaNode * source, MediaNode * sink )

    Creates a new Path connecting the two MediaNodes source and sink.

    The implementation will automatically select the right format and media type. E.g. connecting a MediaObject and AudioOutput will create a Path object connecting the audio. This might be represented as PCM or perhaps even AC3 depending on the AudioOutput object.

    source The MediaNode to connect an output from sink The MediaNode to connect to.

    MediaObject * Phonon::createPlayer ( Phonon::Category category, const MediaSource & source = MediaSource() )

    Convenience function to create a MediaObject and AudioOutput connected by a path. The MediaObject return will have source set as its current source and the specified category.

    const char * Phonon::phononVersion ()

    Returns the Phonon version.

    This function was introduced in Qt 4.5.

    Notes provided by the Qt Community

    No notes