20

Я хочу запустить программу 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)

3 ответа3

14

Вам необходимо загрузить фиктивный звуковой драйвер. Пожалуйста, смотрите Alsa Wiki для подробной информации, но вот основы:

  1. Загрузите драйвер:

    modprobe snd-dummy; modprobe snd-pcm-oss; modprobe snd-mixer-oss; modprobe snd-seq-oss

  2. Иметь правильный файл .asoundrc (он у тебя есть)

  3. Настройте автозагрузку драйверов. Добавьте это в /etc/modules.conf:

    # OSS/ Свободная часть - карточка № 1
    псевдоним sound-slot-0 snd-card-0
    псевдоним sound-service-0-0 snd-mixer-oss
    псевдоним sound-service-0-1 snd-seq-oss
    псевдоним sound-service-0-3 snd-pcm-oss
    псевдоним sound-service-0-8 snd-seq-oss
    псевдоним sound-service-0-12 snd-pcm-oss

На самом деле, есть довольно много вещей, я предлагаю вам посетить страницу Wiki выше для более подробного объяснения.

11

У меня тоже были проблемы с этим, когда я пытался заставить устройство Dummy Sound работать на 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

Итак, сначала загружается драйвер по умолчанию, а затем второй - драйвер Dummy. Работа выполнена!

Удачи

Крис

0

Я также использую его для Linphone на RaspberryPi, так как для него требуется устройство ввода, однако мне пришлось добавить параметр fake_buffer = 0, иначе фиктивное устройство захвата будет захватывать много случайных шумов, и это будет странно ... вы можете сделать это это как:

sudo modprobe snd-dummy fake_buffer=0

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .