Ответ довольно прост на самом деле:
Удаление первого набора правил из rules.v4
sed -Ei '/-A ufw-user-input -s [0-9./]+ -j ufw-logging-input/d' rules.v4
sed -i '/-A ufw-skip-to-policy-output -j DROP/r rules.tmp' rules.v4
Я бы использовал DirectShow для захвата звука. Поскольку вы добавили в вопрос тег C #, я рекомендую использовать библиотеку DirectShow.NET . Убедитесь, что вы также загрузили образцы и просмотрите образцы PlayCap и CapWMV в папке Capture. Вы также можете почитать статью Audio Capture на CodeProject.
Что касается того, почему работают некоторые версии ОС, Вы подтвердили на этих системах, что аудиовход работает с другими программами? Вы разрешаете пользователю выбирать аудиоустройство или просто используете аудиоустройство по умолчанию? Вы получаете сообщение об ошибке или просто нет звука? На этом форуме убедитесь, что вы заключили имя файла в двойные кавычки.
На самом деле без ошибок, без исключений и даже без выходных файлов wav, которые я создаю, тогда как он отлично работает на Vista и 2k8, но не в предыдущих версиях.
m с использованием звуковой карты по умолчанию, не устанавливая никаких явно
с использованием следующего кода
[DllImport("winmm.dll", EntryPoint = "mciSendStringA", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
private static extern int mciSendString(string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback);
для записи
mciSendString("open new Type waveaudio Alias recsound", "", 0, 0);
mciSendString("record recsound", "", 0, 0);
для остановки и сохранения
mciSendString(@"save recsound " + OuputFolderName + FileName + ".wav", "", 0, 0);
mciSendString("close recsound ", "", 0, 0);
If you are still looking for a .net library, look here:
http://windowsmedianet.sourceforge.net/index.html
and here
http://www.tapiex.com/ToneDecoder.Net.htm
The first one is under LGPL licensing, the second one is a commercial component suite.