Как создать фиктивное устройство звуковой карты в Linux server?
Я хочу запустить программу Linux, которая требует звуковую карту, на сервере, который не имеет звуковой карты.
Можно ли создать фиктивную звуковую карту? Я совершенно не знаю о внутренностях звуковой системы Linux. Пожалуйста, укажи мне верное направление.
я следовал этому примеру:http://alsa.opensrc.org/.asoundrc но это не сработало.
PS: есть аналогичный вопрос:Как создать виртуальное Звуковое устройство в Linux?. Но это полностью отличается в том контексте, что пользователь создает псевдоним для уже доступной звуковой карты.
изменить:
Я хочу, чтобы фиктивное устройство было создано в /dev/.. так что любое приложение, которому нужно Звуковое устройство, найдет его.
Я полностью unware, как 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)
3 ответов
вам нужно загрузить dummy звуковой драйвер. См.ALSA Wiki для подробной информации, но вот основы:
загрузить драйвер:
команды modprobe СНД-пустышка ; команды modprobe СНД-ПКМ-ОСС ; команды modprobe СНД-смеситель-ОСС ; команды modprobe СНД-сл-ОСС
есть правильно .asoundrc файл (у вас есть это покрыто)
настроить автозагрузку драйверов. Добавьте это к
/etc/modules.conf
:# OSS / бесплатная порция-Карта #1
псевдоним звука слот 0 СНД-карты-0
псевдоним саунд-сервис-0-0 СНД-смеситель-ОСС
псевдоним саунд-сервис-0-1 СНД-сл-ОСС
псевдоним саунд-сервис-0-3 СНД-ПКМ-ОСС
псевдоним саунд-сервис-0-8 СНД-сл-ОСС
псевдоним саунд-сервис-0-12 СНД-ПКМ-ОСС
есть на самом деле довольно мало я предлагаю вам посетить страницу Wiki выше для более подробного объяснения.
у меня тоже были проблемы с этим при попытке получить фиктивное Звуковое устройство, работающее на Raspberry Pi под управлением Raspian (производная от Debian). Pi on имеет аудиовыход, но не имеет входа, и я хочу использовать приложение, которое ищет оба, хотя мне нужен только выход (PJSIP).
тем не менее, информация выше не работает для меня, и ни одна страница WiKi. После разговора с пользователем из списка рассылки ALSA, они предположили, что информация на странице WikI устарела, тем не менее, они дали мне советы, как решить эту.
во-первых, мне нужно только загрузить модуль "snd-dummy" с помощью:
sudo modprobe snd-dummy
однако после перезагрузки устройство не сохраняется. На Pi этот модуль может быть загружен через файл "/ etc / modules", редактирование этого файла для загрузки драйвера дало желаемые результаты:
sudo nano /etc/modules
мой файл /etc/modules выглядит так:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.
snd-bcm2835
snd-dummy
Итак, сначала загружается драйвер по умолчанию, затем Фиктивный драйвер нагрузки второй. Дело сделано!
Удачи
Chris
Я также использую его для Linphone на RaspberryPi, поскольку для него требуется устройство ввода, однако мне пришлось добавить fake_buffer=0 param, иначе фиктивное устройство захвата будет захватывать много случайного шума, и это было бы странно... вы можете сделать это так:
sudo modprobe snd-dummy fake_buffer=0