2016-09-12 11 views
0

Я создаю программу для меня и моих друзей. Я хочу сделать программу, которая возьмет под контроль Windows Audio Mixer. Я использую C#Чтение значения громкости в смесителе окон

У меня уже есть идея о том, как контролировать громкость. Но я хотел бы получить несколько советов по контролю индивидуального уровня громкости каждого приложения внутри микшера.

Главный вопрос (немного интересный): Как я могу прочитать значение объема внутри каждого счетчика каждого приложения? Другими словами, я хочу прочитать/получить значение зеленой и серой полосы внутри шкалы громкости/метра приложения. Я включил картинку, которая показывает, что я имею в виду The Windows Audio Mixer

ответ

0

Каждый элемент аудиомикшера (Sndvol) - это один сеанс аудио. Here's большое чтение из MSDN о том, как сеансы работают в фоновом режиме.

С этим из пути, вам необходимо подписаться на аудио сессии событий, чтобы получать уведомления о следующих событиях:

  • Уровень громкости или отключение звука состояния сеанса субмикса изменился ,
  • Уровень громкости одного или нескольких каналов сеансового субмикса изменился.
  • Сессия отключена.
  • Состояние активности сеанса изменилось на активное, неактивное или истекшее.
  • Сеанс был назначен новый параметр группировки.
  • Изменено свойство пользовательского интерфейса сеанса (значок или отображаемое имя).

Непосредственно скопированы из here.

API-интерфейсы Core Audio являются частью SDK Windows, поэтому вам необходимо использовать P/Invoke для фактического вызова этого кода. Я думаю, что есть некоторые .NET-оболочки для Core Audio API, и их легко найти с помощью простого поиска.

Редактировать: Вот хорошее начало для того, что вы пытаетесь сделать. Он включает в себя код для управления звуком сеанса. Я не дал ему подробного обзора, поэтому я не уверен, что он имеет сеансовые события.

+0

большое спасибо. Некоторое время искал, но я не знал правильной терминологии для этого материала. Это будет начало –

+0

@MarnovN Нет проблем, не стесняйтесь [отметьте это как ответ] (http://stackoverflow.com/help/someone-answers), если вы чувствуете, что это решение вашей проблемы. – hankide

 Смежные вопросы

  • Нет связанных вопросов^_^