Звучит так, будто довольно много опций будут делать то, что вам нужно, но я отвечу на ваши требования для NAudio
с низкой задержкой (немедленное начало воспроизведения)
Аудиотека не запустится "немедленно".NAudio может легко работать с задержками около 50 мс с помощью API WaveOut.Возможно быстрее, если вы используете WASAPI
код должен быть собственным C # (.Net 4.0)
Код NAudio является собственным C # и содержит оболочки для API Windows
должен ладить с WPF
NAudio прекрасно работает с WPF
несколько одновременных воспроизведений
Поддерживается несколько воспроизведений.При желании вы можете создать микшер для одного воспроизведения и микширования различных входов и выходов.
нет ограничений на манипулирование звуковым буфером
Это большое преимущество NAudioнад некоторыми из других вариантов, которые вы упомянули.У вас есть полный доступ к образцу данных, и вы можете манипулировать любым удобным для вас способом.
гарантированное будущее (я хочу использовать что-то, что все еще будет иметь поддержку через несколько лет.)
Нет никаких гарантий с программным обеспечением с открытым исходным кодом.Но так как он с открытым исходным кодом, ничто не мешает вам исправлять ошибки самостоятельно.NAudio существует уже 10 лет.
модуль звукового плеера должен быть простым классом (= код C #), а не инкапсулированным dll
Ну, вы можете скопироватькод в свой собственный проект, но есть довольно много вспомогательных классов, так что вам может быть проще использовать DLL.