• Skip to content
  • Skip to link menu
KDE 4.0 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

Phonon

Phonon::MediaSource

MediaSource Class Reference
[Playback, Recording]

#include <Phonon/MediaSource>

List of all members.


Detailed Description

Note that all constructors of this class are implicit, so that you can simply write.

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

Author:
Matthias Kretz <kretz@kde.org>

Public Types

enum  Type {
  Invalid = -1, LocalFile, Url, Disc,
  Stream
}

Public Member Functions

 MediaSource ()
 MediaSource (const QString &fileName)
 MediaSource (const QUrl &url)
 MediaSource (Phonon::DiscType discType, const QString &deviceName=QString())
 MediaSource (AbstractMediaStream *stream)
 MediaSource (QIODevice *ioDevice)
 ~MediaSource ()
 MediaSource (const MediaSource &rhs)
MediaSource & operator= (const MediaSource &rhs)
bool operator== (const MediaSource &rhs) const
void setAutoDelete (bool enable)
bool autoDelete () const
Type type () const
QString fileName () const
QUrl url () const
Phonon::DiscType discType () const
QString deviceName () const
AbstractMediaStream * stream () const

Member Enumeration Documentation

enum Type

Identifies the type of media described by the MediaSource object.

See also:
MediaSource::type()
Enumerator:
Invalid  The MediaSource object does not describe any valid source.
LocalFile  The MediaSource object describes a local file.
Url  The MediaSource object describes a URL, which can be both a local file and a file on the network.
Disc  The MediaSource object describes a disc.
Stream  The MediaSource object describes a data stream.

This is also the type used for QIODevices.

See also:
AbstractMediaStream


Constructor & Destructor Documentation

MediaSource (  ) 

Creates an invalid MediaSource object.

See also:
Invalid

MediaSource ( const QString &  fileName  ) 

Creates a MediaSource object for a local file or a Qt resource.

Parameters:
fileName file name of a local media file or a Qt resource that was compiled in.

MediaSource ( const QUrl &  url  ) 

Creates a MediaSource object for a URL.

Parameters:
url URL to a media file or stream.

MediaSource ( Phonon::DiscType  discType,
const QString &  deviceName = QString() 
)

Creates a MediaSource object for discs.

Parameters:
discType See DiscType
deviceName A platform dependent device name. This can be useful if the computer has more than one CD drive. It is recommended to use Solid to retrieve the device name in a portable way.

MediaSource ( AbstractMediaStream *  stream  ) 

Creates a MediaSource object for a data stream.

Your application can provide the media data by subclassing AbstractMediaStream and passing a pointer to that object. Phonon will never delete the stream.

Parameters:
stream The AbstractMediaStream subclass to provide the media data.
See also:
setAutoDelete

MediaSource ( QIODevice *  ioDevice  ) 

Creates a MediaSource object for a QIODevice.

This constructor can be very handy in the combination of QByteArray and QBuffer.

Parameters:
ioDevice An arbitrary readable QIODevice subclass. If the device is not opened MediaSource will open it as QIODevice::ReadOnly. Sequential I/O devices are possible, too. For those MediaObject::isSeekable() will have to return false obviously.
See also:
setAutoDelete

~MediaSource (  ) 

Creates a MediaSource object for capture devices.

Destroys the MediaSource object.

MediaSource ( const MediaSource &  rhs  ) 

Constructs a copy of rhs.

This constructor is fast thanks to explicit sharing.


Member Function Documentation

MediaSource& operator= ( const MediaSource &  rhs  ) 

Assigns rhs to this MediaSource and returns a reference to this MediaSource.

This operation is fast thanks to explicit sharing.

bool operator== ( const MediaSource &  rhs  )  const

Returns true if this MediaSource is equal to rhs; otherwise returns false.

void setAutoDelete ( bool  enable  ) 

Tell the MediaSource to take ownership of the AbstractMediaStream or QIODevice that was passed in the constructor.

The default setting is false, for safety. If you turn it on, you should only access the AbstractMediaStream/QIODevice object as long as you yourself keep a MediaSource object around. As long as you keep the MediaSource object wrapping the stream/device the object will not get deleted.

See also:
autoDelete

bool autoDelete (  )  const

Returns the setting of the auto-delete option.

The default is false.

See also:
setAutoDelete

Type type (  )  const

Returns the type of the MediaSource (depends on the constructor that was used).

See also:
Type

QString fileName (  )  const

Returns the file name of the MediaSource if type() == LocalFile; otherwise returns QString().

QUrl url (  )  const

Returns the url of the MediaSource if type() == URL or type() == LocalFile; otherwise returns QUrl().

Phonon::DiscType discType (  )  const

Returns the disc type of the MediaSource if type() == Disc; otherwise returns NoDisc.

QString deviceName (  )  const

Returns the device name of the MediaSource if type() == Disc; otherwise returns QString().

AbstractMediaStream* stream (  )  const

Returns the media stream of the MediaSource if type() == Stream; otherwise returns 0.

QIODevices are handled as streams, too.


The documentation for this class was generated from the following file:
  • mediasource.h

Phonon

Skip menu "Phonon"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • KIO
  • KIOSlave
  • KJS
  •   WTF
  • KJSEmbed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  •   core
  • Phonon
  •   Backend
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal