Я хотел бы использовать C # для реализации приложения, которое может одновременно воспроизводить несколько аудиопотоков. Арахис - теперь самое интересное: предполагая, что каждый поток является одноканальным (моно), я хочу отрегулировать громкость для каждого динамика (5.1 или даже 7.1) для каждого потока отдельно. Я могу использовать микшер Windows для этого, но проблема в том, что есть только один микшер, и я хочу настроить его для каждого потока отдельно. Есть идеи, как это реализовать?
Мое первое предположение заключалось в том, чтобы мультиплексировать поток восемь раз (7.1), применить уровень громкости для каждого «канала», а затем отправить его в микшер Windows, который, например, выровнен для всех каналов на уровне 80%. Знаете ли вы какие-либо библиотеки, которые могут поддерживать такой вариант использования?
AFAIK bass и fmod не могут этого сделать, но поправьте меня, если я ошибаюсь. В качестве альтернативы я думал о том, чтобы взломать XNA для этого: использовать вектор, который описывает положение потока, относящегося к слушателю, и использовать его для применения компенсации громкости ... просто бессвязный треп.
(и, пожалуйста, не указывайте мне на какие-то идеи C ++ / WinAPI по этому поводу, этот проект сейчас не стоит изучать другой язык.)