Имитация воспроизведения звука на безголовом сервере Linux
У нас есть безголовый сервер Linux (Debian 5), который мы используем для запуска интеграционных тестов кода нашей веб-страницы. Среди этих тестов есть тесты, реализованные с использованием Selenium, который практически моделирует пользователя, просматривающего наши страницы и нажимающего на вещи. Один из этих тестов сейчас не проходит, потому что он включает в себя запуск аудиоплеера на основе флэш-памяти и проверку правильности отображения индикатора выполнения. Причина, по которой этот тест не пройден, заключается в том, что на компьютере нет способа воспроизведения звука и нет звуковой карты с простым аппаратным обеспечением веб-сервера.
Итак, мой вопрос будет таким: есть ли простой способ создать у программы впечатление, что ее аудиовыход обрабатывается и идет воспроизведение? Мне не нужно записывать воспроизведение или перенаправлять его или что-то в этом роде, просто фиктивную звуковую карту, такую как фиктивный X-сервер, который мы используем, который на самом деле не должен отображать материал.
Я пытался использовать JACK, но это слишком сложно, и документация даже не отвечает на этот очень простой вопрос. Я также установил Alsa на сервере; он "притворяется", что запускается, но когда программа пытается воспроизвести аудио, просто выдает ошибку и отлаживает информацию, связанную с отсутствием звуковой карты.
Было бы здорово, если бы у одного из вас был простой ответ на этот вопрос.
Ура,
Ulas
1 ответ
Вы пробовали модуль snd-dummy?
$ modinfo snd-dummy
filename: /lib/modules/2.6.28-11-generic/kernel/sound/drivers/snd-dummy.ko
license: GPL
description: Dummy soundcard (/dev/null)
author: Jaroslav Kysela <perex@perex.cz>
srcversion: AFF1C8B79BA4E7C29AE9874
depends: snd-pcm,snd
vermagic: 2.6.28-11-generic SMP mod_unload modversions 586
parm: index:Index value for dummy soundcard. (array of int)
parm: id:ID string for dummy soundcard. (array of charp)
parm: enable:Enable this dummy soundcard. (array of bool)
parm: pcm_devs:PCM devices # (0-4) for dummy driver. (array of int)
parm: pcm_substreams:PCM substreams # (1-16) for dummy driver. (array of int)