|  | Home · All Classes · Modules

# Phonon.VideoPlayer Class Reference
[phonon module]

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

Inherits QWidget.

### Methods

- __init__ (self, Category category, QWidget parent = None)
- __init__ (self, QWidget parent = None)
- AudioOutput audioOutput (self)
- int currentTime (self)
- bool isPaused (self)
- bool isPlaying (self)
- load (self, MediaSource source)
- MediaObject mediaObject (self)
- pause (self)
- play (self, MediaSource source)
- play (self)
- seek (self, int ms)
- setVolume (self, float volume)
- stop (self)
- int totalTime (self)
- VideoWidget videoWidget (self)
- float volume (self)

### Qt Signals

- void finished ()

## 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.

Note also that most of the functions in this class are asynchronous. For instance, a media source may not play immediately after you call the play() function.

A play and forget code example:

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

## Method Documentation

### VideoPlayer.__init__ (self, Category category, QWidget parent = None)

The parent argument, if not None, causes self to be owned by Qt instead of PyQt.

Constructs a new VideoPlayer instance with the specified parent.

category is the category used for the audio output device.

### VideoPlayer.__init__ (self, QWidget parent = None)

The parent argument, if not None, causes self to be owned by Qt instead of PyQt.

Constructs a new video widget with a parent using Phonon.VideoCategory as its category.

parent The QObject parent.

### AudioOutput VideoPlayer.audioOutput (self)

Returns the audio output object being used by the player.

### int VideoPlayer.currentTime (self)

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

### bool VideoPlayer.isPaused (self)

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

### bool VideoPlayer.isPlaying (self)

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

### VideoPlayer.load (self, MediaSource source)

This method is also a Qt slot with the C++ signature `void load(const Phonon::MediaSource&)`.

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).

See also MediaObject.setCurrentSource().

### MediaObject VideoPlayer.mediaObject (self)

Returns the media object being used by the player.

The media object can be accessed directly instead of using the VideoPlayers convenience functions, e.g., play() and stop(). It is also possible to give the object to other Phonon widgets, e.g., a SeekSlider or a VolumeSlider.

See also Phonon.SeekSlider and Phonon.MediaObject.

### VideoPlayer.pause (self)

This method is also a Qt slot with the C++ signature `void pause()`.

Pauses the playback.

See also MediaObject.pause().

### VideoPlayer.play (self, MediaSource source)

This method is also a Qt slot with the C++ signature `void play(const Phonon::MediaSource&)`.

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.

### VideoPlayer.play (self)

This method is also a Qt slot with the C++ signature `void play()`.

Continues playback of paused media. Restarts playback of a stopped (or newly loaded) media.

See also MediaObject.play() and play().

### VideoPlayer.seek (self, int ms)

This method is also a Qt slot with the C++ signature `void seek(qint64)`.

Seeks to the requested time. Note that the backend is free to ignore the seek request if the media source isn't seekable; you can check this by asking the media object of the VideoPlayer.

         player->mediaObject()->isSeekable();

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

The call is asynchronous, so currentTime() can still be the old value right after this method was called. If all you need is a slider that shows the current position and allows the user to seek, use the class SeekSlider.

See also MediaObject.seek(), MediaObject.isSeekable(), and mediaObject().

### VideoPlayer.setVolume (self, float volume)

This method is also a Qt slot with the C++ signature `void setVolume(float)`.

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().

### VideoPlayer.stop (self)

This method is also a Qt slot with the C++ signature `void stop()`.

Stops the playback.

See also MediaObject.stop().

### int VideoPlayer.totalTime (self)

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

### VideoWidget VideoPlayer.videoWidget (self)

### float VideoPlayer.volume (self)

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().

## Qt Signal Documentation

### void finished ()

This is the default overload of this signal.

This signal is emitted when the playback finished.