|  | Home · All Namespaces · All Classes · Main Classes · Grouped Classes · Modules · Functions |

# VideoPlayer Class Reference
(Phonon::VideoPlayer)
[Phonon module]

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

     #include <Phonon>

Inherits QWidget.

This class was introduced in Qt 4.4.

- List of all members, including inherited members

### Public Functions

- VideoPlayer ( Phonon::Category category, QWidget * parent = 0 )
- ~VideoPlayer ()
- AudioOutput * audioOutput () const
- qint64 currentTime () const
- bool isPaused () const
- bool isPlaying () const
- MediaObject * mediaObject () const
- qint64 totalTime () const
- VideoWidget * videoWidget () const
- float volume () const

- 206 public functions inherited from QWidget
- 29 public functions inherited from QObject
- 14 public functions inherited from QPaintDevice

### Public Slots

- void load ( const Phonon::MediaSource & source )
- void pause ()
- void play ( const Phonon::MediaSource & source )
- void play ()
- void seek ( qint64 ms )
- void setVolume ( float volume )
- void stop ()

- 19 public slots inherited from QWidget
- 1 public slot inherited from QObject

### Signals

- void finished ()

- 1 signal inherited from QWidget
- 1 signal inherited from QObject

### Additional Inherited Members

- 57 properties inherited from QWidget
- 1 property inherited from QObject
- 4 static public members inherited from QWidget
- 5 static public members inherited from QObject
- 1 static public member inherited from QPaintDevice
- 38 protected functions inherited from QWidget
- 7 protected functions inherited from QObject
- 1 protected function inherited from QPaintDevice
- 1 protected slot inherited from QWidget

## Detailed Description

The VideoPlayer widget is used to perform playback of video.

With VideoPlayer you can get results quickly and easily. You can do the standard playback tasks like play(), pause(), and stop(), but also set a playback volume and seek - if the media and backend supports seeking.

VideoPlayer is provided for convenience and removes the need to create a media graph with a MediaObject, AudioOutput, and VideoWidget. If you need functionality not supported by the player, you can build this graph yourself.

Keep in mind that when the VideoPlayer instance is deleted the playback will stop.

A play and forget code example:

     VideoPlayer *player = new VideoPlayer(Phonon::VideoCategory, parentWidget);
     connect(player, SIGNAL(finished()), player, SLOT(deleteLater()));
     player->play(url);

Author: Matthias Kretz <kretz@kde.org>

## Member Function Documentation

### VideoPlayer::VideoPlayer ( Phonon::Category category, QWidget * parent = 0 )

Constructs a new VideoPlayer instance with the specified parent.

category is the category used for the audio output device.

### VideoPlayer::~VideoPlayer ()

On destruction the playback is stopped, also the audio output is removed so that the desktop mixer will not show the application anymore. If you need a persistent audio output don't use VideoPlayer but MediaObject, VideoPath and VideoOutput.

### AudioOutput * VideoPlayer::audioOutput () const

Returns the audio output object being used by the player.

### qint64 VideoPlayer::currentTime () const

Get the current time (in milliseconds) of the file currently being played.

### void VideoPlayer::finished () `[signal]`

This signal is emitted when the playback finished.

### bool VideoPlayer::isPaused () const

Returns true if it is currently paused; otherwise returns false if it is currently playing or stopped

### bool VideoPlayer::isPlaying () const

Returns true if it is currently playing; otherwise returns false if it is currently stopped or paused

### void VideoPlayer::load ( const Phonon::MediaSource & source ) `[slot]`

Starts pre-loading the media data from the specified source and filling audio buffers in the backend.

When there's already a media playing (or paused) it will be stopped (the finished signal will not be emitted).

### MediaObject * VideoPlayer::mediaObject () const

Returns the media object being used by the player.

You can manipulate the object, for instance, use it for a SeekSlider.

See also Phonon::SeekSlider and Phonon::MediaObject.

### void VideoPlayer::pause () `[slot]`

Pauses the playback.

### void VideoPlayer::play ( const Phonon::MediaSource & source ) `[slot]`

Plays the media from the given source. Starts playback as fast as possible. This can take a considerable time depending on the URL and the backend.

If you need low latency between calling play() and the sound actually starting to play on your output device you need to use MediaObject and be able to set the URL before calling play(). Note that

     audioPlayer->load(url);
     audioPlayer->play();

doesn't make a difference: the application should be idle between the load and play calls so that the backend can start preloading the media and fill audio buffers.

### void VideoPlayer::play () `[slot]`

This is an overloaded member function, provided for convenience.

Continues playback of paused media. Restarts playback of a stopped media.

### void VideoPlayer::seek ( qint64 ms ) `[slot]`

Seeks to the requested time. Note that the backend is free to ignore the seek request if the media source isn't seekable.

The ms parameter is the time in milliseconds from the start of the media.

### void VideoPlayer::setVolume ( float volume ) `[slot]`

Sets the volume of the output as voltage factor.

1.0 means 100%, 0.5 means 50% voltage/25% power, 0.0 means 0%

See also volume().

### void VideoPlayer::stop () `[slot]`

Stops the playback.

### qint64 VideoPlayer::totalTime () const

Get the total time (in milliseconds) of the file currently being played.

### VideoWidget * VideoPlayer::videoWidget () const

Returns the video widget being used by the player.

### float VideoPlayer::volume () const

This is the current volume of the output as voltage factor.

1.0 means 100%, 0.5 means 50% voltage/25% power, 0.0 means 0%

See also setVolume().