aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS_TheReturn/AudioManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ShiftOS_TheReturn/AudioManager.cs')
-rw-r--r--ShiftOS_TheReturn/AudioManager.cs42
1 files changed, 42 insertions, 0 deletions
diff --git a/ShiftOS_TheReturn/AudioManager.cs b/ShiftOS_TheReturn/AudioManager.cs
new file mode 100644
index 0000000..1bf63dc
--- /dev/null
+++ b/ShiftOS_TheReturn/AudioManager.cs
@@ -0,0 +1,42 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Newtonsoft.Json;
+using WMPLib;
+
+namespace ShiftOS.Engine
+{
+ public static class AudioManager
+ {
+ public static WindowsMediaPlayer player = null;
+
+ public static void Init()
+ {
+ player = new WindowsMediaPlayer();
+ player.PlayStateChange += (o) =>
+ {
+ switch ((WMPPlayState)o)
+ {
+ case WMPPlayState.wmppsPlaying:
+ case WMPPlayState.wmppsBuffering:
+ case WMPPlayState.wmppsReconnecting:
+
+ break;
+ case WMPPlayState.wmppsReady:
+ PickRandomSong();
+ break;
+ }
+ };
+ PickRandomSong();
+ }
+
+ public static void PickRandomSong()
+ {
+ var lst = JsonConvert.DeserializeObject<List<string>>(Properties.Resources.Songs);
+
+ player.URL = lst[new Random().Next(0, lst.Count)];
+ }
+ }
+}