2016-05-04 3 views
0

Есть ли способ записать весь звук, который воспроизводится на Linux-машине с помощью PulseAudio? Например. как Stereomix в Windows.Запись звуков компьютера с PulseAudio и C/C++

Я не хочу полную программу, мне просто нужна точка входа, чтобы начать мои исследования. Почему-то я не очень много отношусь к этой теме.

Так что, если у кого есть информация по этой теме (конечно, это могут быть советы, подсказки или, возможно, программы с открытым исходным кодом, которые делают это), пожалуйста, дайте мне знать!

ответ

1

Вчера я исследовал эту точную проблему, поэтому у меня есть несколько шагов, которые вы можете попробовать. Я использовал Ubuntu 15.04.

  • Установите pavucontrol и запустите его.
  • Перейдите на вкладку «Запись».
  • Выполните команду, подобную этой, в оболочке arecord -f cd | hexdump -Cv | grep '0000 ', и вы увидите новую запись на вкладке записи pavucontrol. Если ваш микрофон включен, вы можете увидеть ненулевые данные.
  • Запустите YouTube или что-то в фоновом режиме для создания звука.
  • Нажмите на раскрывающийся список рядом с надписью «ALSA Capture от» и переключите «Встроенный аудио аналоговый стерео» на «Монитор встроенного аудио аналогового стерео». Вы должны увидеть ненулевые данные в сеансе arecord.

Оттуда, это вопрос написания кода для записи звука с использованием ALSA api. Вы можете использовать arecord в качестве ссылки.

Система (шахта в любом случае) как-то помнит «от» установки между сеансами arecord, даже если элемент на вкладке Запись приходит и уходит.

+0

Альтернативный подход: [Запись вывода программ с помощью PulseAudio] (http://askubuntu.com/questions/60837/record-a-programs-output-with-pulseaudio) – jamieguinan

+0

Я сам нашел эту страницу. Но я хочу записать весь звук в систему, а не только одну программу. Но thx! – Nidhoegger