Russian Qt Forum
Ноябрь 23, 2024, 02:51 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Alsa -> Phonon  (Прочитано 3409 раз)
sergebegger
Гость
« : Июнь 26, 2010, 13:28 »

Не могу создать увязку между Alsa и Phonon:
Имеется нечто:
Код:
    QBuffer* soundData = new QBuffer();
    QString program = "arecord -q -D hw:2,0 -r 48000 -c 2 -f S16_LE";
    QProcess *alsa = new QProcess();
    alsa->start(program);

// а как увязать вывод  alsa в soundData - мозг сломал :((

    Phonon::MediaObject *music = new Phonon::MediaObject(this);
    Phonon::AudioOutput* audioOutput = new Phonon::AudioOutput(this);
    Phonon::createPath(music, audioOutput);
    music->setCurrentSource(soundData);
    music->play();
Пробовал и включать в проект asoundlib - опять-же буфер имею:
Код:
periodBuf = (unsigned char *)malloc(periodsize * framesize); //взято из примеров по ALSA
а что с ним далее делать незнаю.....

Может кто - что подскажет? Или варианты попроще есть?
Сразу предупреждаю - в С++ и Qt ламер - обложился книгами, но пока бестолку...
Записан
Rcus
Гость
« Ответ #1 : Июнь 26, 2010, 13:43 »

А зачем вам arecord если можно взять QAudioInput (\since 4.6) и напрямую подключить вывод через QIODevice *QAudioInput::start()? Если же нужен именно arecord, то источником данных будет сам QProcess (ибо наследник QIODevice)
Записан
sergebegger
Гость
« Ответ #2 : Июнь 26, 2010, 15:05 »

QAudioInput может и подошел-бы, но надо скроссировать выход USB тюнера со входом звуковухи, например в консоли
Код:
sox -c 2 -r 48000 -t alsa hw:2,0 -t alsa hw:1,0
или
Код:
arecord -q -D hw:2,0 -r 32000 -c 2 -f S16_LE | aplay -q -
- работает. Нужен аналогичный вывод-ввод.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.043 секунд. Запросов: 20.