Отправьте звуковой вывод в приложение и динамик

Поскольку команда все еще работает на экране, его родительская Bash не перечитает никакой истории, так как:

  • reattach на экран
  • Нажмите ^ z , затем ART AROW
  • Бонус : Оберните команду в одиночных цитатах (навигация с ^ a ^ A - потому что экран (1) - и ^ E ) и ECHO + перенаправляют в файл
  • FG Чтобы преследовать командование казни

, есть предостережения, но это достаточно полезно, большую часть времени.

1
23.12.2014, 18:58
1 ответ

После долгих поисков я нашел ответ на свой вопрос. Вам необходимо соответствующим образом настроить ALSA, и он предоставит новое устройство, которое будет дублировать звук, посылаемый на него на два или более устройств, таких как звуковые карты и устройство с обратной связью по шлейфу.

Здесь файл .asoundrc, который я использую:

# If you want this to be the default, then you
# need to override the default device and provide
# a playback path to the CardAndLoop and a capture
# path to whatever soundcard you have (here the 1st card)
#pcm.!default {
#  type asym
#  playback.pcm "CardAndLoop"
#  capture.pcm "hw:0,0"
#}

# This is the interface you use for sound output
# It will send the output to the soundcard and loopback device
pcm.CardAndLoop {
  type plug
  slave.pcm MultiCh
  route_policy "duplicate"
}

# Virtual multichannel device with four channels
# two the for the soundcard, two for the loopback
pcm.MultiCh {
  type multi
  slaves.a.pcm pcm.MixCard
  slaves.a.channels 2
  slaves.b.pcm pcm.MixLoopback
  slaves.b.channels 2
  bindings.0.slave a
  bindings.0.channel 0
  bindings.1.slave a
  bindings.1.channel 1
  bindings.2.slave b
  bindings.2.channel 0
  bindings.3.slave b
  bindings.3.channel 1
}

# Mixer for the soundcard
pcm.MixCard {
  type dmix
  ipc_key 1024
  slave {
#    pcm "hw:Conectiv,0"
    pcm "hw:PCH,0"
#    rate 48000
    rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}

# Mixer for the loopback
pcm.MixLoopback {
  type dmix
  ipc_key 1025
  slave {
    pcm "hw:Loopback,0"
#    rate 48000
    rate 44100
    periods 128
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192
  }
}

Этот файл предоставит новое ALSA звуковое устройство 'CardAndLoop'. Если вы выберете это устройство в вашем звуковом приложении, звук будет отправлен на звуковую карту 'PCH' и устройство обратной связи. Вы можете запустить второе приложение и использовать в качестве входа устройство обратной связи, и оно получит звук, воспроизводимый 1-м приложением.

Я использовал имена для обозначения звуковых устройств. Эти имена можно взять из файла /proc/asound/cards:

$ cat /proc/asound/cards
0 [PCH            ]: HDA-Intel - HDA Intel PCH
                     HDA Intel PCH at 0xf5330000 irq 44
2 [Loopback       ]: Loopback - Loopback
                     Loopback 1

Развлекайтесь!

0
28.01.2020, 01:48

Теги

Похожие вопросы