From 436e5c33d9359b039068416116e8476e730d5d2d Mon Sep 17 00:00:00 2001 From: Shubham Sus <165564832+Shubham-Sus@users.noreply.github.com> Date: Sat, 8 Jun 2024 12:47:24 +0530 Subject: [PATCH 1/2] Added Enumerator for AudioSessionControl --- .../CoreAudioApi/SessionCollection.cs | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/NAudio.Wasapi/CoreAudioApi/SessionCollection.cs b/NAudio.Wasapi/CoreAudioApi/SessionCollection.cs index 36b946a8..4986d5af 100644 --- a/NAudio.Wasapi/CoreAudioApi/SessionCollection.cs +++ b/NAudio.Wasapi/CoreAudioApi/SessionCollection.cs @@ -1,6 +1,5 @@ using NAudio.CoreAudioApi.Interfaces; -using System; -using System.Linq; +using System.Collections.Generic; using System.Runtime.InteropServices; namespace NAudio.CoreAudioApi @@ -8,7 +7,7 @@ namespace NAudio.CoreAudioApi /// /// Collection of sessions. /// - public class SessionCollection + public class SessionCollection : IEnumerable { readonly IAudioSessionEnumerator audioSessionEnumerator; @@ -42,5 +41,30 @@ public int Count return result; } } + + #region IEnumerable Members + + /// + /// Get Enumerator + /// + /// AudioSessionControl enumerator + public IEnumerator GetEnumerator() + { + for (int index = 0; index < Count; index++) + { + yield return this[index]; + } + } + + #endregion + + #region IEnumerable Members + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + #endregion } } From a6c88421fc3b573034c1505cace995df702f2687 Mon Sep 17 00:00:00 2001 From: Shubham Sus <165564832+Shubham-Sus@users.noreply.github.com> Date: Mon, 10 Jun 2024 12:47:35 +0530 Subject: [PATCH 2/2] Updated region name --- NAudio.Wasapi/CoreAudioApi/SessionCollection.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NAudio.Wasapi/CoreAudioApi/SessionCollection.cs b/NAudio.Wasapi/CoreAudioApi/SessionCollection.cs index 4986d5af..6f2e2712 100644 --- a/NAudio.Wasapi/CoreAudioApi/SessionCollection.cs +++ b/NAudio.Wasapi/CoreAudioApi/SessionCollection.cs @@ -42,7 +42,7 @@ public int Count } } - #region IEnumerable Members + #region IEnumerable Members /// /// Get Enumerator