diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2009-12-16 08:21:45 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2009-12-16 08:21:45 (GMT) |
commit | 4866f6a99f0e15680a788c44d2725b7d168562f9 (patch) | |
tree | 074e1df71d374c0413eb9fb9752970b52166b502 /examples/multimedia | |
parent | 191a716c0618fcaf6450389fc5ad133d787b53f3 (diff) | |
parent | d869ec981447bc6d590954a939f18b5d37ebb6cd (diff) | |
download | Qt-4866f6a99f0e15680a788c44d2725b7d168562f9.zip Qt-4866f6a99f0e15680a788c44d2725b7d168562f9.tar.gz Qt-4866f6a99f0e15680a788c44d2725b7d168562f9.tar.bz2 |
Merge branch '4.6' of scm.dev.nokia.troll.no:qt/berlin-staging-1 into 4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/berlin-staging-1:
Fix precision loss warning (qreal vs. float on Windows)
def file maintenance.
def file maintenance.
Fixed compile for S60 (.def file updates).
QPlainTextEdit scrolling issue with folded paragraphs
Designer: Show actions in action editor in QKeySequence::NativeText
Fix up documentation examples for low-level audio.
Add -audio-backend and -no-audio-backend configure option.
audioinput and audiooutput examples not using isFormatSupported
Qt fails to build on RHEL 4 and other older Linux versions because of
Diffstat (limited to 'examples/multimedia')
-rw-r--r-- | examples/multimedia/audioinput/audioinput.cpp | 12 | ||||
-rw-r--r-- | examples/multimedia/audiooutput/audiooutput.cpp | 12 |
2 files changed, 23 insertions, 1 deletions
diff --git a/examples/multimedia/audioinput/audioinput.cpp b/examples/multimedia/audioinput/audioinput.cpp index 62afd73..75bddd6 100644 --- a/examples/multimedia/audioinput/audioinput.cpp +++ b/examples/multimedia/audioinput/audioinput.cpp @@ -195,7 +195,6 @@ InputTest::InputTest() pullMode = true; - // AudioInfo class only supports mono S16LE samples! format.setFrequency(8000); format.setChannels(1); format.setSampleSize(16); @@ -203,6 +202,17 @@ InputTest::InputTest() format.setByteOrder(QAudioFormat::LittleEndian); format.setCodec("audio/pcm"); + QAudioDeviceInfo info(QAudioDeviceInfo::defaultInputDevice()); + if (!info.isFormatSupported(format)) { + qWarning()<<"default format not supported try to use nearest"; + format = info.nearestFormat(format); + } + + if(format.sampleSize() != 16) { + qWarning()<<"audio device doesn't support 16 bit samples, example cannot run"; + return; + } + audioInput = new QAudioInput(format,this); connect(audioInput,SIGNAL(notify()),SLOT(status())); connect(audioInput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State))); diff --git a/examples/multimedia/audiooutput/audiooutput.cpp b/examples/multimedia/audiooutput/audiooutput.cpp index 244840d..b6047db 100644 --- a/examples/multimedia/audiooutput/audiooutput.cpp +++ b/examples/multimedia/audiooutput/audiooutput.cpp @@ -170,6 +170,18 @@ AudioTest::AudioTest() settings.setCodec("audio/pcm"); settings.setByteOrder(QAudioFormat::LittleEndian); settings.setSampleType(QAudioFormat::SignedInt); + + QAudioDeviceInfo info(QAudioDeviceInfo::defaultOutputDevice()); + if (!info.isFormatSupported(settings)) { + qWarning()<<"default format not supported try to use nearest"; + settings = info.nearestFormat(settings); + } + + if(settings.sampleSize() != 16) { + qWarning()<<"audio device doesn't support 16 bit samples, example cannot run"; + return; + } + audioOutput = new QAudioOutput(settings,this); connect(audioOutput,SIGNAL(notify()),SLOT(status())); connect(audioOutput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State))); |