Пишу прогу для визуализации входных данных с микрофона. Пишу на PyQt, но так же есть аналог на C++ + Qt. На нем сейчас провожу все эксперименты.
Смысл в том, что у меня на машине сейчас стоит pulseaudio, но, как я понял, оно не сильно мешает. Взял и удалил его. Вернул всю систему на чистую альсу, в итоге ничего не получил.
/proc/asound/cards:
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xd4800000 irq 52
1 [GoMic ]: USB-Audio - Samson GoMic
Samson Technologies Samson GoMic at usb-0000:00:1d.0-1.1, full speed
Делаю инициализацию:
format.setFrequency(33000);
format.setSampleSize(8);
format.setCodec(QString::fromUtf8("audio/pcm"));
format.setSampleType(QAudioFormat::SignedInt);
format.setChannels(1);
QAudioDeviceInfo info(QAudioDeviceInfo::availableDevices(QAudio::AudioInput)[1]);
qDebug() << info.deviceName();
Вывожу QList из всех availableDevice, получаю вот это:
"sysdefault:CARD=PCH"
"sysdefault:CARD=GoMic"
"default"
Тоесть, я выбираю первую карточку, когда инициализирую info. Все хорошо, все компилится и запускается. Но есть другой прикол...
Так как ижет визуализация потока данных, я беру пальцем щелкаю перед этим самым GoMic и на картинке ничего не меняется, а когда щелкаю перед ноутовским микрофоном, то получаю всплески... Следовательно, он мне выбрал мой GoMic микрофон, но данные идут по прежнему со встроенного. Никак не могу понять что да как. Сейчас подготовлю исходники, для проверки.
Qt: 4.8.3
Gentoo ~amd64