Здравствуйте!
Вопрос не собственно по Ubuntu, а по работе с Qt в deb-based системе.
Я вижу, что здесь есть очень знающие люди, надеюсь, что они мне помогут.
Может ли мультимедийная часть Qt работать через jackd и как этого добиться, если да?
Мне говорили, что Qt видит звуковые устройства в том порядке, в каком их возвращает "aplay -l".
Если jackd не запущен, то всё нормально, "aplay -l" показывает usb sound card 1-й,
программа на Qt тоже видит её как карту по умолчанию и с ней работает.
Qt версии 4 из Debian Wheezy, мультимедийная часть там в qtmobility-dev.
Если же jackd запущен с указанием использовать эту карту командой
jackd -Rv -d alsa -d hw:U0x41e0x30d3 -C hw:U0x41e0x30d3,0 -P hw:U0x41e0x30d3,0 -D -i 1 -o 2 -n 3 -S -r 8000 -p 1024 > jackd.log 2>&1 &
то программа на Qt не только не видит устройств, но и c-модуль, работающий со звуком,
зависает при попытке получить список устройств. Там есть объявление и оператор,
из которого нет выхода:
QList<QAudioDeviceInfo> qladi;
qladi=QAudioDeviceInfo::availableDevices(QAudio::AudioInput);
aplay проигрывает wav-файл при запущенном jackd, .asoundrc такой:
pcm.rawjack {
type jack
playback_ports {
0 system:playback_1
1 system:playback_2
}
capture_ports {
0 system:capture_1
1 system:capture_2
}
}
pcm.jack {
type plug
slave { pcm "rawjack" }
hint {
description "JACK Audio Connection Kit"
}
}
pcm.!default {
type plug
slave { pcm "rawjack" }
}
"aplay -l" и при jackd показыает те же карты, что и без него.