Qt 4.8
Public Slots | Public Functions | Static Public Functions | Friends | List of all members
QSound Class Reference

The QSound class provides access to the platform audio facilities. More...

#include <qsound.h>

Inheritance diagram for QSound:
QObject

Public Slots

void play ()
 Starts playing the sound specified by this QSound object. More...
 
void stop ()
 Stops the sound playing. More...
 
- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. More...
 

Public Functions

QString fileName () const
 Returns the filename associated with this QSound object. More...
 
bool isFinished () const
 Returns true if the sound has finished playing; otherwise returns false. More...
 
int loops () const
 Returns the number of times the sound will play. More...
 
int loopsRemaining () const
 Returns the remaining number of times the sound will loop (this value decreases each time the sound is played). More...
 
 QSound (const QString &filename, QObject *parent=0)
 Constructs a QSound object from the file specified by the given filename and with the given parent. More...
 
void setLoops (int)
 Sets the sound to repeat the given number of times when it is played. More...
 
 ~QSound ()
 Destroys this sound object. More...
 
- Public Functions inherited from QObject
bool blockSignals (bool b)
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More...
 
const QObjectListchildren () const
 Returns a list of child objects. More...
 
bool connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0)
 
bool disconnect (const QObject *receiver, const char *member=0)
 
void dumpObjectInfo ()
 Dumps information about signal connections, etc. More...
 
void dumpObjectTree ()
 Dumps a tree of children to the debug output. More...
 
QList< QByteArraydynamicPropertyNames () const
 Returns the names of all properties that were dynamically added to the object using setProperty(). More...
 
virtual bool event (QEvent *)
 This virtual function receives events to an object and should return true if the event e was recognized and processed. More...
 
virtual bool eventFilter (QObject *, QEvent *)
 Filters events if this object has been installed as an event filter for the watched object. More...
 
template<typename T >
findChild (const QString &aName=QString()) const
 Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More...
 
template<typename T >
QList< T > findChildren (const QString &aName=QString()) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More...
 
template<typename T >
QList< T > findChildren (const QRegExp &re) const
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More...
 
void installEventFilter (QObject *)
 Installs an event filter filterObj on this object. More...
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false. More...
 
void killTimer (int id)
 Kills the timer with timer identifier, id. More...
 
virtual const QMetaObjectmetaObject () const
 Returns a pointer to the meta-object of this object. More...
 
void moveToThread (QThread *thread)
 Changes the thread affinity for this object and its children. More...
 
QString objectName () const
 
QObjectparent () const
 Returns a pointer to the parent object. More...
 
QVariant property (const char *name) const
 Returns the value of the object's name property. More...
 
Q_INVOKABLE QObject (QObject *parent=0)
 Constructs an object with parent object parent. More...
 
void removeEventFilter (QObject *)
 Removes an event filter object obj from this object. More...
 
void setObjectName (const QString &name)
 
void setParent (QObject *)
 Makes the object a child of parent. More...
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value. More...
 
void setUserData (uint id, QObjectUserData *data)
 
bool signalsBlocked () const
 Returns true if signals are blocked; otherwise returns false. More...
 
int startTimer (int interval)
 Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More...
 
QThreadthread () const
 Returns the thread in which the object lives. More...
 
QObjectUserDatauserData (uint id) const
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects. More...
 

Static Public Functions

static bool isAvailable ()
 Returns true if sound facilities exist on the platform; otherwise returns false. More...
 
static void play (const QString &filename)
 Plays the sound stored in the file specified by the given filename. More...
 
- Static Public Functions inherited from QObject
static bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More...
 
static bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 Disconnects signal in object sender from method in object receiver. More...
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static uint registerUserData ()
 
static QString tr (const char *sourceText, const char *comment=0, int n=-1)
 
static QString trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 

Friends

class QAuServer
 

Additional Inherited Members

- Signals inherited from QObject
void destroyed (QObject *=0)
 This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More...
 
- Static Public Variables inherited from QObject
static const QMetaObject staticMetaObject
 This variable stores the meta-object for the class. More...
 
- Protected Functions inherited from QObject
virtual void childEvent (QChildEvent *)
 This event handler can be reimplemented in a subclass to receive child events. More...
 
virtual void connectNotify (const char *signal)
 This virtual function is called when something has been connected to signal in this object. More...
 
virtual void customEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive custom events. More...
 
virtual void disconnectNotify (const char *signal)
 This virtual function is called when something has been disconnected from signal in this object. More...
 
 QObject (QObjectPrivate &dd, QObject *parent=0)
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal. More...
 
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More...
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *)
 This event handler can be reimplemented in a subclass to receive timer events for the object. More...
 
- Protected Variables inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Static Protected Variables inherited from QObject
static const QMetaObject staticQtMetaObject
 

Detailed Description

The QSound class provides access to the platform audio facilities.

Qt provides the most commonly required audio operation in GUI applications: asynchronously playing a sound file. This is most easily accomplished using the static play() function:

QSound::play("mysounds/bells.wav");

Alternatively, create a QSound object from the sound file first and then call the play() slot:

QSound bells("mysounds/bells.wav");
bells.play();

Once created a QSound object can be queried for its fileName() and total number of loops() (i.e. the number of times the sound will play). The number of repetitions can be altered using the setLoops() function. While playing the sound, the loopsRemaining() function returns the remaining number of repetitions. Use the isFinished() function to determine whether the sound has finished playing.

Sounds played using a QSound object may use more memory than the static play() function, but it may also play more immediately (depending on the underlying platform audio facilities). Use the static isAvailable() function to determine whether sound facilities exist on the platform. Which facilities that are actually used varies:

Platform Audio Facility
Microsoft Windows The underlying multimedia system is used; only WAVE format sound files are supported.
X11 The ftp://ftp.x.org/contrib/audio/nas/ "Network Audio System" is used if available, otherwise all operations work silently. NAS supports WAVE and AU files.
Mac OS X NSSound is used. All formats that NSSound supports, including QuickTime formats, are supported by Qt for Mac OS X.
Qt for Embedded Linux A built-in mixing sound server is used, accessing /dev/dsp directly. Only the WAVE format is supported.
Symbian CMdaAudioPlayerUtility is used. All formats that Symbian OS or devices support are supported also by Qt.

Note that QSound does not support resources. This might be fixed in a future Qt version.

Definition at line 57 of file qsound.h.

Constructors and Destructors

◆ QSound()

QSound::QSound ( const QString filename,
QObject parent = 0 
)
explicit

Constructs a QSound object from the file specified by the given filename and with the given parent.

This may use more memory than the static play() function, but it may also play more immediately (depending on the underlying platform audio facilities).

See also
play()

Definition at line 189 of file qsound.cpp.

190  : QObject(*new QSoundPrivate(filename), parent)
191 {
192  server().init(this);
193 }
static QAuServer & server()
Definition: qsound.cpp:79
virtual void init(QSound *)
Initializes the sound.
Definition: qsound.cpp:384
Q_INVOKABLE QObject(QObject *parent=0)
Constructs an object with parent object parent.
Definition: qobject.cpp:753

◆ ~QSound()

QSound::~QSound ( )

Destroys this sound object.

If the sound is not finished playing, the stop() function is called before the sound object is destructed.

See also
stop(), isFinished()

Definition at line 225 of file qsound.cpp.

226 {
227  if (!isFinished())
228  stop();
229 }
bool isFinished() const
Returns true if the sound has finished playing; otherwise returns false.
Definition: qsound.cpp:236
void stop()
Stops the sound playing.
Definition: qsound.cpp:326

Functions

◆ fileName()

QString QSound::fileName ( ) const

Returns the filename associated with this QSound object.

See also
QSound()

Definition at line 312 of file qsound.cpp.

Referenced by QAuServerNAS::init(), QAuServerWindows::play(), QAuServerMac::play(), QAuServerQWS::play(), and QAuBucketQWS::QAuBucketQWS().

313 {
314  Q_D(const QSound);
315  return d->filename;
316 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QSound class provides access to the platform audio facilities.
Definition: qsound.h:57

◆ isAvailable()

bool QSound::isAvailable ( )
static

Returns true if sound facilities exist on the platform; otherwise returns false.

If no sound is available, all QSound operations work silently and quickly. An application may choose either to notify the user if sound is crucial to the application or to operate silently without bothering the user.

Note: On Windows this always returns true because some sound card drivers do not implement a way to find out whether it is available or not.

Definition at line 347 of file qsound.cpp.

348 {
349  return server().okay();
350 }
static QAuServer & server()
Definition: qsound.cpp:79
virtual bool okay()=0

◆ isFinished()

bool QSound::isFinished ( ) const

Returns true if the sound has finished playing; otherwise returns false.

Warning
On Windows this function always returns true for unlooped sounds.

Definition at line 236 of file qsound.cpp.

Referenced by ~QSound().

237 {
238  Q_D(const QSound);
239  return d->looprem == 0;
240 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QSound class provides access to the platform audio facilities.
Definition: qsound.h:57

◆ loops()

int QSound::loops ( ) const

Returns the number of times the sound will play.

See also
loopsRemaining(), setLoops()

Definition at line 269 of file qsound.cpp.

Referenced by QAuServerWindows::play().

270 {
271  Q_D(const QSound);
272  return d->looptotal;
273 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QSound class provides access to the platform audio facilities.
Definition: qsound.h:57

◆ loopsRemaining()

int QSound::loopsRemaining ( ) const

Returns the remaining number of times the sound will loop (this value decreases each time the sound is played).

See also
loops(), isFinished()

Definition at line 281 of file qsound.cpp.

Referenced by QAuServerNAS::setDone().

282 {
283  Q_D(const QSound);
284  return d->looprem;
285 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QSound class provides access to the platform audio facilities.
Definition: qsound.h:57

◆ play() [1/2]

void QSound::play ( const QString filename)
static

Plays the sound stored in the file specified by the given filename.

See also
stop(), loopsRemaining(), isFinished()

Definition at line 174 of file qsound.cpp.

175 {
176  server().play(filename);
177 }
virtual void play(const QString &filename)
Definition: qsound.cpp:71
static QAuServer & server()
Definition: qsound.cpp:79

◆ play [2/2]

void QSound::play ( )
slot

Starts playing the sound specified by this QSound object.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

The function returns immediately. Depending on the platform audio facilities, other sounds may stop or be mixed with the new sound. The sound can be played again at any time, possibly mixing or replacing previous plays of the sound.

See also
fileName()

Definition at line 257 of file qsound.cpp.

258 {
259  Q_D(QSound);
260  d->looprem = d->looptotal;
261  server().play(this);
262 }
double d
Definition: qnumeric_p.h:62
virtual void play(const QString &filename)
Definition: qsound.cpp:71
#define Q_D(Class)
Definition: qglobal.h:2482
static QAuServer & server()
Definition: qsound.cpp:79
The QSound class provides access to the platform audio facilities.
Definition: qsound.h:57

◆ setLoops()

void QSound::setLoops ( int  number)

Sets the sound to repeat the given number of times when it is played.

Note that passing the value -1 will cause the sound to loop indefinitely.

See also
loops()

Definition at line 301 of file qsound.cpp.

302 {
303  Q_D(QSound);
304  d->looptotal = n;
305 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QSound class provides access to the platform audio facilities.
Definition: qsound.h:57

◆ stop

void QSound::stop ( )
slot

Stops the sound playing.

Note that on Windows the current loop will finish if a sound is played in a loop.

See also
play()

Definition at line 326 of file qsound.cpp.

Referenced by ~QSound().

327 {
328  Q_D(QSound);
329  server().stop(this);
330  d->looprem = 0;
331 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
static QAuServer & server()
Definition: qsound.cpp:79
virtual void stop(QSound *)=0
The QSound class provides access to the platform audio facilities.
Definition: qsound.h:57

Friends and Related Functions

◆ QAuServer

friend class QAuServer
friend

Definition at line 86 of file qsound.h.


The documentation for this class was generated from the following files: