Hallo,
ich möchte ein Programm schreiben, welches mehrere Buttons hat. Jedes davon soll einen Ton in einer bestimmten Frequenz abspielen. Am Ende soll ein Programm herauskommen, mit dem die Frequenzen eines Tinnitus herausgefunden werden sollen. Die Balance muß verstellbar sein, damit mehrere Töne unabhängig von einander für beide Ohren erzeugt werden können.
Ein Ton kann mittlerweile ausgegeben werden, aber während dieser ertönt, hängt das Programm. Daher habe ich versucht, das mit "Async" und "Await" zu verbessern.
Bisher habe ich es so verstanden, das mit "Async" angekündigt wird, dass die kommende Methode asynchron ausgeführt werden soll, sodas ich beispielsweise einen Button und dann einen weiteren drücken kann, damit beide Töne gleichzeitig abgespielt werden.
Leider funktioniert es nicht.
Hier mal der Code:
Selbst, wenn ich bei "Task.Delay()" einen sehr niedrigen Wert eintrage, kann ich nichts machen, bis der erste Ton wieder aus ist.
Wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht. Aber, da ich blind bin, sollte ich sagen: Wahrscheinlich höre ich die Autobahn vor lauter Autos nicht ;-).
Hat Jemand eine Idee, wo der Hund begraben ist?
Danke
*Topic verschoben*
ich möchte ein Programm schreiben, welches mehrere Buttons hat. Jedes davon soll einen Ton in einer bestimmten Frequenz abspielen. Am Ende soll ein Programm herauskommen, mit dem die Frequenzen eines Tinnitus herausgefunden werden sollen. Die Balance muß verstellbar sein, damit mehrere Töne unabhängig von einander für beide Ohren erzeugt werden können.
Ein Ton kann mittlerweile ausgegeben werden, aber während dieser ertönt, hängt das Programm. Daher habe ich versucht, das mit "Async" und "Await" zu verbessern.
Bisher habe ich es so verstanden, das mit "Async" angekündigt wird, dass die kommende Methode asynchron ausgeführt werden soll, sodas ich beispielsweise einen Button und dann einen weiteren drücken kann, damit beide Töne gleichzeitig abgespielt werden.
Leider funktioniert es nicht.
Hier mal der Code:
VB.NET-Quellcode
- Public Class Form1
- Declare Function Beep Lib "kernel32.dll" (ByVal dwFreq As Int32, ByVal dwDuration As Int32) As Int32
- Private Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Tonausgabe(300, 3000)
- Await Task.Delay(3000)
- End Sub
- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
- End
- End Sub
- Private Async Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- Tonausgabe(500, 3000)
- Await Task.Delay(3000)
- End Sub
- Public Sub Tonausgabe(Frequenz As Integer, Dauer As Integer)
- Beep(Frequenz, Dauer)
- End Sub
- End Class
Selbst, wenn ich bei "Task.Delay()" einen sehr niedrigen Wert eintrage, kann ich nichts machen, bis der erste Ton wieder aus ist.
Wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht. Aber, da ich blind bin, sollte ich sagen: Wahrscheinlich höre ich die Autobahn vor lauter Autos nicht ;-).
Hat Jemand eine Idee, wo der Hund begraben ist?
Danke
*Topic verschoben*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()