QSampleCache Class
Header: | #include <QSampleCache> |
Inherits: | QObject |
Detailed Description
\internal
When you want to get a sound sample data, you need to request the QSample reference from QSampleCache.
QSample *m_sample; // class member. private Q_SLOTS: void decoderError(); void sampleReady();
Q_GLOBAL_STATIC(QSampleCache, sampleCache) //declare a singleton manager
m_sample = sampleCache()->requestSample(url); switch(m_sample->state()) { case QSample::Ready: sampleReady(); break; case QSample::Error: decoderError(); break; default: connect(m_sample, SIGNAL(error()), this, SLOT(decoderError())); connect(m_sample, SIGNAL(ready()), this, SLOT(sampleReady())); break; }
When you no longer need the sound sample data, you need to release it:
if (m_sample) { m_sample->release(); m_sample = 0; }