Auto Push to talk

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Trade.

    Auto Push to talk

    Hallo!

    In so einigen Games gibt es Push to talk... aber leider gibt es eher selten sprachaktivierung!
    Besonders in hitzigen Situationen kann man nur schwer den Knopf dafür drücken, also dacht ich mir "Mensch du könntest doch ein Programm schreiben, dass das Knopf drücken für dich übernimmt." (in meinem Fall ist das die Taste "Z")
    Also habe ich mich mal ran gesetzt und ein bisschen Code aus dem web gesucht und zusammen gebastelt .(VB 2010) (ist das VB.net ???)

    VB.NET-Quellcode

    1. ​Public Class Form1
    2. Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal Command As String, _
    3. Optional ByVal ReturnString As String = " ", Optional ByVal ReturnLength As Integer = 0, Optional ByVal Callback As Integer = 0) As Integer
    4. Dim rs As String ' Returnstring
    5. Dim SoundLevel, Mode As New String(" ", 20)
    6. Dim Zahl As Integer
    7. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    8. Call mciSendString("Open New Type waveaudio Alias MySound", rs, 128, 0)
    9. Call mciSendString("record MySound", rs, 128, 0)
    10. Call mciSendString("Stop MySound", rs, 128, 0)
    11. Timer1.Enabled = True
    12. End If
    13. End Sub
    14. Private Sub Timer1_Tick_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    15. Timer1.Interval = "0.1"
    16. Zahl = Val(SoundLevel)
    17. Dim cb As Integer = 0
    18. Call mciSendString("status MySound level", SoundLevel, 20, cb)
    19. Label1.Text = Val(SoundLevel)
    20. Call mciSendString("status MySound mode", Mode, 128, cb)
    21. Label1.Text = SoundLevel
    22. ProgressBar1.Value = Label1.Text
    23. If Zahl > 10 Then
    24. System.Windows.Forms.SendKeys.Send("{z}")
    25. End If
    26. End Sub



    SO sieht die ganze sache aus.
    (mit Pegel zur visualisierung.)
    Nun meine Fragen/ Probleme:
    Wie kann ich die Taste aus der Form heraus ändern ohne das Programm immer wieder zu kompilieren?
    Und die wichtigste Frage: Wie kann ich die Taste gedrückt halten? Das einzige was zur zeit passiert ist, das sie sehr schnell gespammt wird.

    Danke für eure Hilfe!

    Mfg.
    Freeman
    Moin,

    mache erstmal Option Strict On und schmeiß den ganzen VB6-Code da raus.
    Böses aus VB6/VB2003 - und die richtigen VB.NET-Alternativen

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: