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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: (РЕШЕНО) Qt 4.7 QAudioInput ввод WHATUHEAR  (Прочитано 7945 раз)
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« : Июнь 14, 2015, 18:14 »

Не вижу в описании, как открыть именно этот поток аудио. Или это и есть deafultInputDevice?
« Последнее редактирование: Июнь 16, 2015, 21:29 от Гурман » Записан

2^7-1 == 127, задумайтесь...
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #1 : Июнь 15, 2015, 11:39 »

Стандартный ответ для всех SoundAPI - всё зависит от звуковой платы, драйвера и выбранного API. Надо вывести перечень всех устройств для всех API и посмотреть что там есть похожего на этот whatyouhear. В общем случае может вообще и не быть такого "устройства", иногда нужно настраивать микшер.
Записан
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« Ответ #2 : Июнь 15, 2015, 16:56 »

Ну вот у меня QAudioDeviceInfo::availableDevices(QAudio::AudioInput) находит один Realtek HD Audio Input, несколько модемных линий и "default". И что из этого WYH-сигнал? Только опытным путём? Или надо микшер настраивать? Как?
Записан

2^7-1 == 127, задумайтесь...
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #3 : Июнь 15, 2015, 17:56 »

default - это в терминологии драйверов от Realtek то, что установлено в Windows как "Устройство по умолчанию" в настройках "Записывающие устройства". Что там там будет обозначено, как текущее устройство, то и будет использовано в качестве источника записи по-умолчанию. А WYH, кстати, я вообще давненько в микшерах не видел. Какая версия Windows?
Записан
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« Ответ #4 : Июнь 15, 2015, 18:45 »

версия не важна, суть не в версии или названии устройстова - суть в том, какое устройство использовать, чтобы получить выход микшера звуковой платы (WYH - это просто старое привычное название выхода микшера)

тот же вопрос будет, когда это будет для Linux собрано, там Network Audio System используется, пока не ясно, как сделать, чтобы там тоже выбирать выход аудио-микшера
Записан

2^7-1 == 127, задумайтесь...
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #5 : Июнь 15, 2015, 19:31 »

Повторюсь, в Windows через QAudioInput, в общем случае - никак.
Вот тут http://blogs.msdn.com/b/matthew_van_eerde/archive/2014/11/05/draining-the-wasapi-capture-buffer-fully.aspx
написано как реализовать WUH с помощью WASAPI (рекомендуемый API для работы со звуком в Windows Vista и выше). Что с этим делать в линукс - ничего сказать не могу, реального опыта борьбы со звуком в нём у меня нет. Но, судя по этому сообщению http://www.prog.org.ru/index.php?topic=27535.msg199929#msg199929 там всё примерно так же - что в миксере настроено в качестве источника записи, то и будет писаться в defaultDevice.
Записан
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« Ответ #6 : Июнь 15, 2015, 21:18 »

через WASAPI я делал лет 8 назад, еще с Qt 3.3, и в Linux всё получалось, его собственными средствами через OSS

потом в Linux аудио стали делать на ALSA, там муторный API, и хочется обойтись только нативными средствами Qt, чтобы не было зверинца

Записан

2^7-1 == 127, задумайтесь...
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« Ответ #7 : Июнь 16, 2015, 17:08 »

Не... не выходит каменный цветок... ввод QAudioInput работает, с микрофона USB-гарнитуры сигнал есть, я его получаю. Но выход микшера никак нигде не видно, ни на каком-либо входе или выходе, перепробовал все варианты.

А что насчёт RtAudio, portaudio - там есть возможность получить выход микшера?
Записан

2^7-1 == 127, задумайтесь...
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #8 : Июнь 16, 2015, 19:36 »

Если драйвера звуковой платы не предоставляют такого устройства как WUH или чего-то аналогичного, то ни RtAudio, ни portaudio не дадут перехватить текущий воспроизводимый звук. Я вообще правильно задачу понимаю:
Кто-то что-то говорит в микрофон, например, в скайпе, и нужно получить доступ к тем отсчетам, которые идут в настоящий момент на динамик?
Записан
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« Ответ #9 : Июнь 16, 2015, 21:28 »

Не совсем. Нужно получить выход микшера - всю играющую музыку, независимо от источника, сигнал с микрофона, системные звуки и т.д.

Заработало! Надо было в настройках Реалтековского микшера включить "Record - Stereo Mix". Забыл совсем, что там переключатель есть, он на микрофоне стоял.

Увы, управлять из Qt настройками драйвера невозможно, по крайней мере, я не вижу как.
Записан

2^7-1 == 127, задумайтесь...
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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