![]() |
Home · All Classes · Main Classes · Grouped Classes · Modules · Functions | ![]() |
The MediaSource class provides multimedia data for media objects. More...
#include <Phonon>
This class was introduced in Qt 4.4.
Author: Matthias Kretz <kretz@kde.org>
The MediaSource class provides multimedia data for media objects.
The MediaSource class manages a source of multimedia content, such as a music or video file, of which data is given to a MediaObject.
The media source knows how fetch its data from several sources, e.g., from files, a QIODevice, or a CD. The possible source types are described by the Type enum. Note that it is possible to provide data from any source by implementing an AbstractMediaStream.
The class has several functions to acquire information about the source it manages, e.g., fileName(), url(), and diskType(). The return from these functions are dependent on the type() of the media source.
Normally, a programmer does not need to be concerned with media sources. It's constructors are implicit, so one can, for instance, send an URL or filename directly to the constructors of the MediaObject.
MediaObject m; QString fileName("/home/foo/bar.ogg"); QUrl url("http://www.example.com/stream.mp3"); QBuffer *someBuffer; m.setCurrentSource(fileName); m.setCurrentSource(url); m.setCurrentSource(someBuffer); m.setCurrentSource(Phonon::Cd);
Currently, Qt's backends support files in local and remote locations. Support for other sources, such as CD/DVD, are planned for the future.
See also MediaObject.
Identifies the type of media described by the MediaSource object.
Constant | Value | Description |
---|---|---|
Phonon::MediaSource::Invalid | -1 | The MediaSource object does not describe any valid source. |
Phonon::MediaSource::LocalFile | 0 | The MediaSource object describes a local file. |
Phonon::MediaSource::Url | 1 | The MediaSource object describes a URL, which can be either a local file or a file on the network. |
Phonon::MediaSource::Disc | 2 | The MediaSource object describes a disc. |
Phonon::MediaSource::Stream | 3 | The MediaSource object describes a data stream. This is also the type used for QIODevices. |
See also MediaSource::type().
Creates a MediaSource object for file specified by fileName.
Creates a MediaSource object for a the URL specified by url.
If the multimedia content you would like to play back is on a remote network location, you should use this constructor; though, it also possible to specify an URL to a local file.
See also QUrl.
Creates a MediaSource object for the type of disc specified by discType in the named device referred to by deviceName.
Note: deviceName is a platform dependent device name. It can be useful to specify this if the computer has more than one CD drive. On KDE, it is recommended to use the Solid hardware discovery framework to retrieve the device name in a portable way.
Creates a MediaSource object for the QIODevice specified by ioDevice.
This constructor can be very handy in the combination of QByteArray and QBuffer.
ioDevice is an arbitrary readable QIODevice subclass. If the device is not opened MediaSource will open it as QIODevice::ReadOnly.
Note: Sequential devices can also be used, but MediaObject::isSeekable() will return false as a result.
See also setAutoDelete().
Constructs a copy of the other media source.
This constructor is fast thanks to explicit sharing.
Destroys the MediaSource object.
Returns the setting of the auto-delete option. The default is false.
See also setAutoDelete().
Returns the device name of the MediaSource if type() == Disc; otherwise returns QString().
Returns the disc type of the MediaSource if type() == Disc; otherwise returns NoDisc.
Returns the file name of the MediaSource if type() == LocalFile; otherwise returns QString().
If enable is true, tells the media source to take ownership of the stream or device that was passed in the constructor; if enable is false, the media source will not delete the stream or device when it is deleted itself.
By default, this setting is false, for safety. If you enable it, you should only access the stream or device as long as you keep a media source object around. As long as you keep the media source wrapping the stream or device, the object will not get deleted.
See also autoDelete().
Returns the media stream of the MediaSource if type() == Stream; otherwise returns 0. QIODevices are handled as streams, too.
Returns the type of the MediaSource (depends on the constructor that was used).
See also Type.
Returns the URL of the MediaSource if type() == URL or type() == LocalFile; otherwise returns QUrl().
Assigns the other media source to this media source and returns a reference to it.
This operation is fast thanks to explicit sharing.
Returns true if this media source is equal to the other media source; otherwise returns false.
Copyright © 2008 Trolltech | Trademarks | Qt 4.4.0-rc1 |