Я бы хотел использовать C# для реализации приложения, которое может воспроизводить несколько аудиопотоков одновременно. Peanuts - теперь интересная часть: если каждый поток является одноканальным (моно), я хочу настроить громкость для каждого динамика (5.1 или даже 7.1) для каждого потока отдельно. Я могу использовать микшер Windows для этого, но проблема в том, что есть только один микшер, и я хочу настроить его для каждого потока отдельно. Есть идеи, как это реализовать?Как реализовать многоканальный предварительный микшер в .net
Мое первое предположение состояло в том, чтобы мультиплексировать поток восемь раз (7.1), применить уровень громкости для каждого «канала», а затем отправить его в микшер, который выравнивается для всех каналов с 80%, например. Знаете ли вы какие-либо библиотеки, которые могут поддерживать такой вариант использования?
AFAIK бас и fmod не могут этого сделать, но исправьте меня, если я ошибаюсь. В качестве альтернативы я думал о том, чтобы взломать XNA для этого: используя вектор, который описывает положение потока, связанного с слушателем, и используя это, чтобы применить компенсацию объема ... просто проветривание.
(и, пожалуйста, не указывают мне на некоторые C++/WinAPI идеи по этому вопросу, этот проект не стоит изучать другой язык в настоящее время.)
Возможно, одна идея, которая только что прибыла в мой мозг: вполне нормально требовать, чтобы доступные звуковые файлы были импортированы и транскодированы изначально в своего рода звуковой банк. Формат vorbis поддерживает до 255 каналов, и есть (возможно, оставленная) библиотека lib: http://vorbisdotnet.sourceforge.net/ –
Немного натыкается: я нашел библиотеку NAudio на Codeplex. Хороший материал ... –