Stoppuhr soll mit Audio Signal stoppen

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Oliver B..

    Stoppuhr soll mit Audio Signal stoppen

    Guten Abend

    Ich habe grad ein Projekt für meinen Vater er braucht eine stoppuhr die auf ein Audio Signal auslöst und nich auf einen buttendruck:
    nun meine Frage was müsste ich für einen Code nemen wenn esüberhaubt Geht.
    Die Stoppuhr funktioniert soweitganz gut :)
    @Bluespide
    Für das Fenster der Stoppuhr

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    3. Label2.Text = Label2.Text + 0.1
    4. End Sub
    5. Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    6. Timer1.Start()
    7. End Sub
    8. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    9. Timer1.Stop()
    10. End Sub
    11. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    12. Label2.Text = "0.0"
    13. End Sub
    14. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    15. ListBox1.Items.Add(ListBox1.Items.Count + 1 & ".) " & Label2.Text)
    16. End Sub
    17. Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
    18. End
    19. End Sub
    20. Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
    21. ListBox1.Items.Clear()
    22. End Sub
    23. Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
    24. Me.Hide()
    25. Form2.Show()
    26. End Sub
    27. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    28. End Sub
    29. End Class


    und ich hab mir gedach das man den inhalt der listbox speichern kann aber mit nem eigenen namen

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim Dateiname As String = New DateTime
    3. Dim text As String = ""
    4. Dateiname = DateTime.Now
    5. TextBox1.Text = Dateiname
    6. For Each Litem As String In Form1.ListBox1.Items
    7. text &= vbCrLf & Litem
    8. Next
    9. IO.File.WriteAllText(TextBox1, text)
    10. MsgBox("Text Datei erfolgreich erstellt", MsgBoxStyle.Information, "Erstellt")
    11. End Sub

    der geht nur teilweise er erstellt zwar aber nicht mit den namen aus der textbox

    @P-Velo

    es Soll ein knall sein ich brauch es um Schusszeiten zu messen
    Kann aus beiden Anschlüssen sein :D

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Oliver B.“ ()

    Erstmal würde ich das Zeitmessen ganz anders angehen da es mit einem Timer recht ungenau ist. Ich an deiner stelle würde ich die StopWatch Klasse verwenden. Hier mal ein Beispiel:
    Was du brauchs ist ein timer zum updaten der anzeige, einen Start-Button, einen Stop-Button, und ein Label

    VB.NET-Quellcode

    1. 'Globale Variable:
    2. Private SW As New Stopwatch
    3. 'Im Startbutton-Click-Event:
    4. SW.Reset()
    5. SW.Start()
    6. Timer1.Start()
    7. 'Im StopButton-Click-Event:
    8. SW.Stop()
    9. Timer1.Stop()
    10. 'Im Timer-Tick-Event:
    11. Dim TS As TimeSpan = TimeSpan.FromMilliseconds(SW.ElapsedMilliseconds)
    12. Label1.Text = TS.ToString


    Und wenn du das dann per audiosignal starten will und das signal ein "Knall" ist, dann kannst du ja dien Mikrofoneingang auslesen und warten bis das signal einen bestimmten lautsärkepegel überschreitet und dann den code vom startbutton ausführen.

    Wie das genau zu bewerkstelligen ist weis ich leider nicht.
    Danke werde es gleich ausprobieren. :thumbsup:

    Edit
    ok das geht soweit aber wie kann ich aus dem Micro Eingang, ein bestimmtes Signal auslesen ?(

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Oliver B.“ ()

    Oliver B. schrieb:

    Danke werde es gleich ausprobieren. :thumbsup:

    Edit
    ok das geht soweit aber wie kann ich aus dem Micro Eingang, ein bestimmtes Signal auslesen ?(

    definiere bestimmtes? Wenn du nen wort haben willst dann würd ich hier anfangen. Wenn nicht dann musst du das genauer definieren. Weil am Ende ist das ganze nur nen rießiges Array aus Bytes. Du kannst jedoch überprüfen ob überhaubt was rein kommt. Aber dann würd ich so ne art Push to Talk nehmen weil sonst fährt nen Auto vorbei und das Teil geht los. Also wie gesagt definiere bestimmtes Signal?


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.