diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-01-08 15:55:12 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-01-22 07:01:44 +0000 |
commit | d33f433d1d126abc1c9d9e95fb0b7958ec095589 (patch) | |
tree | d933728ba0fb41dabfa50a8b2a90d39175da1165 /examples/multimedia/audiooutput | |
parent | 494663fd09b4bd0d7053bc0da9bd02234d5a1c95 (diff) |
Smaller fixes to the audiooutput example
Change-Id: I13b55a16c131d7f18728212f4024a81c733b09b4
Reviewed-by: Doris Verria <doris.verria@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'examples/multimedia/audiooutput')
-rw-r--r-- | examples/multimedia/audiooutput/audiooutput.cpp | 23 | ||||
-rw-r--r-- | examples/multimedia/audiooutput/audiooutput.h | 1 |
2 files changed, 9 insertions, 15 deletions
diff --git a/examples/multimedia/audiooutput/audiooutput.cpp b/examples/multimedia/audiooutput/audiooutput.cpp index b1deab124..e369049ce 100644 --- a/examples/multimedia/audiooutput/audiooutput.cpp +++ b/examples/multimedia/audiooutput/audiooutput.cpp @@ -57,9 +57,7 @@ #include <qmath.h> #include <qendian.h> -Generator::Generator(const QAudioFormat &format - , qint64 durationUs - , int sampleRate) +Generator::Generator(const QAudioFormat &format, qint64 durationUs, int sampleRate) { if (format.isValid()) generateData(format, durationUs, sampleRate); @@ -268,19 +266,14 @@ void AudioTest::toggleMode() if (m_audioOutput->state() == QAudio::StoppedState) return; - QByteArray buffer(32768, 0); - int chunks = m_audioOutput->bytesFree() / m_audioOutput->periodSize(); - while (chunks) { - const qint64 len = m_generator->read(buffer.data(), m_audioOutput->periodSize()); - if (len) - io->write(buffer.data(), len); - if (len != m_audioOutput->periodSize()) - break; - --chunks; - } + int len = m_audioOutput->bytesFree(); + QByteArray buffer(len, 0); + len = m_generator->read(buffer.data(), len); + if (len) + io->write(buffer.data(), len); }); - m_pushTimer->start(20); + m_pushTimer->start(10); } m_pullMode = !m_pullMode; @@ -290,7 +283,7 @@ void AudioTest::toggleSuspendResume() { if (m_audioOutput->state() == QAudio::SuspendedState || m_audioOutput->state() == QAudio::StoppedState) { m_audioOutput->resume(); - m_suspendResumeButton->setText(tr("Suspend recording")); + m_suspendResumeButton->setText(tr("Suspend playback")); } else if (m_audioOutput->state() == QAudio::ActiveState) { m_audioOutput->suspend(); m_suspendResumeButton->setText(tr("Resume playback")); diff --git a/examples/multimedia/audiooutput/audiooutput.h b/examples/multimedia/audiooutput/audiooutput.h index c17f47727..fc288481e 100644 --- a/examples/multimedia/audiooutput/audiooutput.h +++ b/examples/multimedia/audiooutput/audiooutput.h @@ -78,6 +78,7 @@ public: qint64 readData(char *data, qint64 maxlen) override; qint64 writeData(const char *data, qint64 len) override; qint64 bytesAvailable() const override; + qint64 size() const override { return m_buffer.size(); } private: void generateData(const QAudioFormat &format, qint64 durationUs, int sampleRate); |