|  | Home · All Classes · Modules

# Phonon.MediaController Class Reference
[phonon module]

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

Inherits QObject.

### Types

- enum Feature { Angles, Chapters, Titles }
- class Features

### Methods

- __init__ (self, MediaObject parent)
- bool autoplayTitles (self)
- int availableAngles (self)
- unknown-type availableAudioChannels (self)
- int availableChapters (self)
- unknown-type availableSubtitles (self)
- int availableTitles (self)
- int currentAngle (self)
- AudioChannelDescription currentAudioChannel (self)
- int currentChapter (self)
- SubtitleDescription currentSubtitle (self)
- int currentTitle (self)
- nextTitle (self)
- previousTitle (self)
- setAutoplayTitles (self, bool)
- setCurrentAngle (self, int angleNumber)
- setCurrentAudioChannel (self, AudioChannelDescription stream)
- setCurrentChapter (self, int chapterNumber)
- setCurrentSubtitle (self, SubtitleDescription stream)
- setCurrentTitle (self, int titleNumber)
- Features supportedFeatures (self)

### Qt Signals

- void angleChanged (int)
- void availableAnglesChanged (int)
- void availableAudioChannelsChanged ()
- void availableChaptersChanged (int)
- void availableSubtitlesChanged ()
- void availableTitlesChanged (int)
- void chapterChanged (int)
- void titleChanged (int)

## Detailed Description

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

Some media sources have content that the MediaObject does not provide control over, for instance, chapters in a DVD file. The functionality the media controller offers is dependent on the type of media source that is played back. Commonly, the media controller allows you to:

- Navigate between chapters.
- Navigate between titles.
- Select between angles.

The Feature enum explains these terms in more detail, and their context in playback of CD and DVD.

The media controller keeps a MediaObject, of which media source is played back. You can still call the media object's functions, e.g., stop(); this is all handled correctly by the media controller. You have the option of letting the media controller play all titles of a source in sequence by setting the autoplay titles option.

To start a playback using a media object, you call play() on the media object. To play a specific title, use setCurrentTitle() and then call play().

Warning: The Phonon.MediaController class is not yet supported by Qt backends.

## Type Documentation

### MediaController.Feature

The values of this enum are interpreted differently depending on the type of media source, e.g., DVD or CD. We give examples for these sources.

Constant | Value | Description
--- | --- | ---
`Phonon.MediaController.Angles` | `1` | In the VOB (DVD) format, it is possible to to give several video streams of the same scene, each of which displays the scene from a different angle. The DVD viewer can then change between these angles.
`Phonon.MediaController.Chapters` | `2` | In the VOB format, chapters are points in a single video stream that can be played and seeked to separately.
`Phonon.MediaController.Titles` | `4` | On a CD, a title is a separate sound track. On DVD, a title is a separate VOB file.

The Features type is a typedef for QFlags<Feature>. It stores an OR combination of Feature values.

## Method Documentation

### MediaController.__init__ (self, MediaObject parent)

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

Constructs a new MediaController with the media object (parent) to be used by the media controller.

See also MediaObject and Feature.

### bool MediaController.autoplayTitles (self)

Returns true if titles will automatically be played when the media is played; otherwise returns false.

The media controller will play the titles of the media source in sequence when the media object's play() function is called. If the autoplay option is disabled, the media object will play the MediaController.currentTitle(){current title} and then finish the playback.

See also setAutoplayTitles() and currentTitle().

### int MediaController.availableAngles (self)

Returns the available angles that is available for the current media source.

See also Feature.

### unknown-type MediaController.availableAudioChannels (self)

### int MediaController.availableChapters (self)

Returns the number of chapters the current media source contains.

See also Feature.

### unknown-type MediaController.availableSubtitles (self)

### int MediaController.availableTitles (self)

Returns the number of titles that the current media source contains.

See also Feature.

### int MediaController.currentAngle (self)

Returns the angle that is currently used.

See also setCurrentAngle() and Feature.

### AudioChannelDescription MediaController.currentAudioChannel (self)

### int MediaController.currentChapter (self)

Returns the chapter that is currently being played back.

See also setCurrentChapter() and Feature.

### SubtitleDescription MediaController.currentSubtitle (self)

### int MediaController.currentTitle (self)

Returns the title that is currently played back.

The current title is 0 (the first) by default.

See also setCurrentTitle() and Feature.

### MediaController.nextTitle (self)

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

Skips to the next title.

If it was playing before the title change it will start playback on the next title if autoplayTitles is enabled.

See also Feature.

### MediaController.previousTitle (self)

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

Skips to the previous title.

If it was playing before the title change it will start playback on the previous title if autoplayTitles is enabled.

See also Feature.

### MediaController.setAutoplayTitles (self, bool)

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

Sets the titles to play automatically when the media is played if enable is true; otherwise disables this option.

The media controller will play the titles of the media source in sequence when the media object's play() function is called. If the autoplay option is disabled, the media object will play the MediaController.currentTitle(){current title} and then finish the playback.

See also autoplayTitles() and currentTitle().

### MediaController.setCurrentAngle (self, int angleNumber)

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

Sets the current angle to the given angleNumber if the media file or device supports navigation by angle number.

See also currentAngle() and Feature.

### MediaController.setCurrentAudioChannel (self, AudioChannelDescription stream)

### MediaController.setCurrentChapter (self, int chapterNumber)

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

Sets the current chapter to the given chapterNumber if the media file or device supports navigation by chapter number.

See also currentChapter() and Feature.

### MediaController.setCurrentSubtitle (self, SubtitleDescription stream)

### MediaController.setCurrentTitle (self, int titleNumber)

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

Skips to the given title titleNumber.

If it was playing before the title change it will start playback on the new title if autoplayTitles is enabled.

See also currentTitle() and Feature.

### Features MediaController.supportedFeatures (self)

## Qt Signal Documentation

### void angleChanged (int)

This is the default overload of this signal.

This signal is emitted whenever the current angle changes. The new angle number is given by angleNumber.

See also Feature.

### void availableAnglesChanged (int)

This is the default overload of this signal.

This signal is emitted whenever the number of available angles changes. The new number of available angles is given by availableAngles.

See also Feature.

### void availableAudioChannelsChanged ()

This is the default overload of this signal.

### void availableChaptersChanged (int)

This is the default overload of this signal.

This signal is emitted whenever the number of available chapters changes. The new number of available chapters is given by availableChapters.

See also Feature.

### void availableSubtitlesChanged ()

This is the default overload of this signal.

### void availableTitlesChanged (int)

This is the default overload of this signal.

This signal is emitted whenever the number of available titles changes. The new number of available titles is given by availableTitles.

See also Feature.

### void chapterChanged (int)

This is the default overload of this signal.

This signal is emitted whenever the current chapter changes. The new chapter number is given by chapterNumber.

See also Feature.

### void titleChanged (int)

This is the default overload of this signal.

This signal is emitted whenever the current title changes. The new title number is given by titleNumber.

See also Feature.