diff --git a/src/Discord.Net.Core/Audio/IAudioClient.cs b/src/Discord.Net.Core/Audio/IAudioClient.cs
index 018c8bc05..2fc52a529 100644
--- a/src/Discord.Net.Core/Audio/IAudioClient.cs
+++ b/src/Discord.Net.Core/Audio/IAudioClient.cs
@@ -1,4 +1,5 @@
-using System;
+using System;
+using System.Collections.Generic;
using System.Threading.Tasks;
namespace Discord.Audio
@@ -20,6 +21,9 @@ namespace Discord.Audio
/// Gets the estimated round-trip latency, in milliseconds, to the voice UDP server.
int UdpLatency { get; }
+ /// Gets the current audio streams.
+ IReadOnlyDictionary GetStreams();
+
Task StopAsync();
Task SetSpeakingAsync(bool value);
diff --git a/src/Discord.Net.WebSocket/Audio/AudioClient.cs b/src/Discord.Net.WebSocket/Audio/AudioClient.cs
index 2210e019f..3549fb106 100644
--- a/src/Discord.Net.WebSocket/Audio/AudioClient.cs
+++ b/src/Discord.Net.WebSocket/Audio/AudioClient.cs
@@ -99,6 +99,12 @@ namespace Discord.Audio
_token = token;
await _connection.StartAsync().ConfigureAwait(false);
}
+
+ public IReadOnlyDictionary GetStreams()
+ {
+ return _streams.ToDictionary(pair => pair.Key, pair => pair.Value.Reader);
+ }
+
public async Task StopAsync()
{
await _connection.StopAsync().ConfigureAwait(false);
@@ -379,7 +385,7 @@ namespace Discord.Audio
private async Task RunHeartbeatAsync(int intervalMillis, CancellationToken cancelToken)
{
- //TODO: Clean this up when Discord's session patch is live
+ // TODO: Clean this up when Discord's session patch is live
try
{
await _audioLogger.DebugAsync("Heartbeat Started").ConfigureAwait(false);