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 ???)
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
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
- Public Class Form1
- Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal Command As String, _
- Optional ByVal ReturnString As String = " ", Optional ByVal ReturnLength As Integer = 0, Optional ByVal Callback As Integer = 0) As Integer
- Dim rs As String ' Returnstring
- Dim SoundLevel, Mode As New String(" ", 20)
- Dim Zahl As Integer
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Call mciSendString("Open New Type waveaudio Alias MySound", rs, 128, 0)
- Call mciSendString("record MySound", rs, 128, 0)
- Call mciSendString("Stop MySound", rs, 128, 0)
- Timer1.Enabled = True
- End If
- End Sub
- Private Sub Timer1_Tick_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- Timer1.Interval = "0.1"
- Zahl = Val(SoundLevel)
- Dim cb As Integer = 0
- Call mciSendString("status MySound level", SoundLevel, 20, cb)
- Label1.Text = Val(SoundLevel)
- Call mciSendString("status MySound mode", Mode, 128, cb)
- Label1.Text = SoundLevel
- ProgressBar1.Value = Label1.Text
- If Zahl > 10 Then
- System.Windows.Forms.SendKeys.Send("{z}")
- End If
- 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