aboutsummaryrefslogtreecommitdiff
path: root/AudioTester/Program.cs
diff options
context:
space:
mode:
Diffstat (limited to 'AudioTester/Program.cs')
-rw-r--r--AudioTester/Program.cs56
1 files changed, 56 insertions, 0 deletions
diff --git a/AudioTester/Program.cs b/AudioTester/Program.cs
new file mode 100644
index 0000000..7557142
--- /dev/null
+++ b/AudioTester/Program.cs
@@ -0,0 +1,56 @@
+using AudioTester.Core;
+using AudioTester.Core.Extensions;
+using NAudio.Wave;
+using RayRoom.Core;
+using System.Drawing;
+using System.Numerics;
+
+namespace AudioTester
+{
+ internal class Program
+ {
+#pragma warning disable CA1416 // Проверка совместимости платформы
+ static void Main(string[] args)
+ {
+ AudioSimulator a = new AudioSimulator();
+
+ var array = a.Simulate(Vector2.Zero, 360);
+ var bitmap = new Bitmap(2000, 2000);
+
+ Matrix2x2 mat = new Matrix2x2(Vector2.UnitX * 100f, Vector2.UnitY * -100f);
+
+ Pen background = new Pen(Color.FromArgb(5, Color.White), 4);
+ Pen foreground = new Pen(Color.FromArgb(25, Color.White), 1);
+
+ using (Graphics g = Graphics.FromImage(bitmap))
+ {
+ g.Clear(Color.Black);
+
+ for (int i = 0; i < array.Length; i++)
+ {
+ g.DrawLine(background, (mat * array[i].a + new Vector2(1000, 1000)).GetPoint(), (mat * array[i].b + new Vector2(1000, 1000)).GetPoint());
+ g.DrawLine(foreground, (mat * array[i].a + new Vector2(1000, 1000)).GetPoint(), (mat * array[i].b + new Vector2(1000, 1000)).GetPoint());
+ }
+ }
+
+ bitmap.Save("bitmap.bmp");
+#pragma warning restore CA1416 // Проверка совместимости платформы
+ return;
+ var device = new RenderStreamer();
+
+ using (var wo = new WasapiOut(NAudio.CoreAudioApi.AudioClientShareMode.Shared, 150))
+ {
+ wo.Init(device);
+ wo.Play();
+
+ while (wo.PlaybackState == PlaybackState.Playing)
+ {
+ Thread.Sleep(100);
+
+ if (Console.KeyAvailable)
+ wo.Stop();
+ }
+ }
+ }
+ }
+} \ No newline at end of file