Я хочу запустить программу Linux, требующую звуковую карту, на сервере, на котором нет звуковой карты. Можно ли создать фиктивную звуковую карту? Я совершенно не осведомлен о внутренностях звуковой системы Linux. Пожалуйста, укажите мне в правильном направлении.
Я следовал этому примеру: http://alsa.opensrc.org/.asoundrc, но это не сработало.
PS: Есть похожий вопрос: Как создать виртуальное звуковое устройство в Linux? , Но это совершенно другое в том смысле, что пользователь создает псевдоним для уже доступной звуковой карты.
Изменить:
я хочу, чтобы в / dev / .. было создано фиктивное устройство, чтобы любое приложение, которому требуется звуковое устройство, нашло его.
Я совершенно не знаю, как работает Alsa. Поэтому я просто последовал примеру. Я создал /etc/asound.conf с:
pcm.card0 {
type hw
card 0
}
ctl.card0 {
type hw
card 0
}
И aplay -L
дает мне:
null
Discard all samples (playback) or generate zero samples (capture)
Ответы:
Вам необходимо загрузить фиктивный звуковой драйвер. Пожалуйста, смотрите Alsa Wiki для подробной информации, но вот основы:
Загрузите драйвер:
Иметь правильный файл .asoundrc (он у тебя есть)
Настройте автозагрузку драйверов. Добавьте это к
/etc/modules.conf
:На самом деле, есть довольно много вещей, я предлагаю вам посетить страницу Wiki выше для более подробного объяснения.
источник
У меня тоже были проблемы с этим, когда я пытался заставить устройство Dummy Sound работать на Raspberry Pi с Raspian (производной от Debian). У Pi on есть аудиовыход, но нет входа, и я хочу использовать приложение, которое ищет оба, хотя мне нужен только выход (PJSIP).
Тем не менее, информация выше не работает для меня, как и страница WiKi. После разговора с пользователем из списка рассылки ALSA, они предположили, что информация на странице WikI устарела, однако они дали мне подсказки, как решить эту проблему.
Во-первых, мне нужно только загрузить модуль 'snd-dummy', используя:
Тем не менее, устройство не остается в наличии после перезагрузки. На Pi этот модуль может быть загружен через файл / etc / modules, редактируя этот файл для загрузки драйвера, который дает желаемые результаты:
Мой файл / etc / modules просто выглядит так:
Таким образом, драйвер по умолчанию загружается первым, а затем фиктивный драйвер загружается вторым. Дело сделано!
Удачи
Крис
источник
Я также использую его для Linphone на RaspberryPi, так как для него требуется устройство ввода, однако мне пришлось добавить параметр fake_buffer = 0, иначе фиктивное устройство захвата будет захватывать много случайного шума, и это будет странно ... вы можете сделать это это как:
источник