В моем случае я смог решить проблему, выполнив следующие действия:
Я изменил свой код на это:
var r2 = db.Instances.Where(x => x.Player1 == inputViewModel.InstanceList.FirstOrDefault().Player2 && x.Player2 == inputViewModel.InstanceList.FirstOrDefault().Player1).ToList();
К этому:
var p1 = inputViewModel.InstanceList.FirstOrDefault().Player1;
var p2 = inputViewModel.InstanceList.FirstOrDefault().Player2;
var r1 = db.Instances.Where(x => x.Player1 == p1 && x.Player2 == p2).ToList();
Если бы Вы надеетесь пачкать руки с материалом DSP, я предложил бы запуститься с программирования VST. Запись плагина является хорошим способом бездельничать с аудио управлением в реальном времени, не имея необходимость волноваться о соединении с оборудованием системы, драйверами, и так далее. В основном секвенсер заботится обо всем этом для Вас, и Ваш плагин просто получает буфер с данными с плавающей запятой, которыми можно управлять непосредственно.
Это, в целом, намного легче, чем попытка записать плагин для управления данными, проходящими системные аудиопотоки. Кроме того, аудио Windows, которое API изменил значительно начиная с Vista, и в зависимости от которой версии Windows Вы используете, необходимо будет следовать различным конвенциям получить работу материала.
, Но снова - запускаются простой. Доберитесь VST SDK, проверьте приблизительно учебные руководства и запуститесь маленькими шажками. :)
Вероятно, необходимо взглянуть на DirectSound, но принять во внимание, что он должен скоро быть заменен XAudio2 - вероятно, в Windows 7. Я должен думать, что DirectSound продолжит поддерживаться некоторое время дольше, так как это было вокруг в течение долгого времени.
Попробуйте архив musicdsp для некоторого хорошего примера кода для звуковых эффектов. форум разработчика KvR является также превосходным местом для получения справки при записи VSTs и эффектов в целом.
Что касается API аудио Windows, существуют многие из них. Наиболее широко поддерживаемый известен как WinMM. Последним и самым большим является новое интерфейс WASAPI, начатый с Vista.
Наконец, для выполнения эффекта эквалайзера в масштабе всей системы Вы, возможно, должны изучить более низкие интерфейсы уровня такой как sAPO
Вот некоторые ссылки, которые были очень полезны для меня:
Tammo Hinrichs "Кбит" статей Farbrausch демонстрационной группы об аудио программировании. Существует также видео семинара что Tammo, сохраненный более чем здесь .
ведущий тезис Jari Kleimola "Разработка и реализация Синтезатора Звука программного обеспечения" . Более чем 100 страниц об аудио программировании.
Синтез ToolKit в C++ . Усовершенствованный аудио инструментарий разрабатывается в университетах. Основным автором инструментария является Perry Cook, который также записал книгу: "Реальный Синтез звука для Интерактивных приложений".
"Основная звуковая теория и синтез" статья доктора Petter.
Нежным введением в Программирование VST является SynthEdit... www.synthedit.com, Это предусматривает среду программирования перетаскивания, прогрессируя до записи Ваших собственных дополнений C++. Можно сделать 'скучные' биты (дизайн GUI) с перетаскиванием и 'забавными' алгоритмическими битами в C++.