Ваш звук будет передаваться по сети, и что будет кэшировать его, пока что-то не захочет прочитать?Или данные будут отброшены?В целом, что-то похожее на приведенное ниже (только что протестированное) должно работать как виртуальный микрофон, но я думаю, что он всегда будет считывать файл с начала, когда устройство открывается, и вам нужно проверить, как он обрабатывает конец файла.Возможно, то, что вы попробуете, используя каналы, но затем кеширование / удаление входящих данных должно быть обработано чтением приложения из сети.
pcm.virtmic {
type file
format "raw"
slave.pcm "default"
file '/dev/null'
infile '/dev/urandom'
}
См. документы alsa для получения дополнительных параметров.
Опять же, не уверен, что этот инструмент - то, что вам действительно нужно для этой задачи.Было бы очень удобно, если бы вы могли запустить команду с опцией «infile», как вы могли бы с «file», но, к сожалению, вы не можете ...
Надеюсь, это поможет.
ОБНОВЛЕНИЕ: slave.pcm должен быть не нулевым, а реальным устройством.Кажется, это используется для синхронизации или я не знаю, но использование нуля приводит к тому, что процесс записи блокируется навсегда.Это устройство может заставить вас с заданной частотой дискретизации, но будьте осторожны.Использование «default» является нормальным значением по умолчанию.Infile должен предоставить необработанные звуковые данные с правильным / подходящим форматом и скоростью.Кстати, вы можете посмотреть на alsa server и jackd и другие звуковые системы и библиотеки для альтернативных решений для вашей задачи