Je souhaite recevoir des rappels lorsque les sessions audio commencent et se terminent avec NAudio. Le code suivant fonctionne:Réception de rappels de session audio pour les modifications d'état avec NAudio
private void SetupMediaSessionCallbacks()
{
// Foreach output endpoint
foreach (var md in new MMDeviceEnumerator().EnumerateAudioEndPoints(DataFlow.Render, DeviceState.Active))
{
md.AudioSessionManager.OnSessionCreated += OnSessionCreated;
}
}
Ce code se déclenche lorsque de nouvelles sessions audio sont créées. Je suis nouveau à NAudio, donc je ne comprends pas comment RegisterEventClient configuré pour recevoir des événements de changement d'état:
private void OnSessionCreated(object sender, IAudioSessionControl newSession)
{
// Not working, need help here!
AudioSessionControl audioSession = new AudioSessionControl(newSession);
IAudioSessionEventsHandler handler = null;
AudioSessionEventsCallback notifications = new AudioSessionEventsCallback(test);
handler.OnStateChanged += new EventHandler<AudioSessionState>(notifications_StateChanged);
audioSession.RegisterEventClient(handler);
}
Voici le rappel que je crois est correct:
void notifications_StateChanged(object sender, AudioSessionState newState)
{
if (newState == AudioSessionState.AudioSessionStateActive)
{
Console.WriteLine("StateChanged");
}
}
Toute aide être grandement apprécié. J'ai recherché haut et bas pour la documentation pour ceci.