System Lautstärke Auslesen
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 31 Antworten in diesem Thema. Der letzte Beitrag () ist von thefiloe.
-
-
-
Habs jz so das ich das nichtmehr brauche mit dem Auslesen
das der immer abgestürtr ist sobald die Lautstärke voll war, war nen ajnderer Fehler. Nun leuft alles Super ohne Probleme..
Der Code:
Spoiler anzeigen VB.NET-Quellcode
- Imports System.Runtime.InteropServices
- Public Class Form1
- <DllImport("winmm.dll")> _
- Public Shared Function waveOutGetVolume(ByVal hwo As IntPtr, ByRef dwVolume As UInteger) As Integer
- End Function
- <DllImport("winmm.dll")> _
- Public Shared Function waveOutSetVolume(ByVal hwo As IntPtr, ByVal dwVolume As UInteger) As Integer
- End Function
- Private Declare Sub keybd_event Lib "user32" _
- (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
- Const KEYEVENTF_KEYDOWN As Integer = 0
- Const KEYEVENTF_KEYUP As Integer = 2
- Private perfCounter As System.Diagnostics.PerformanceCounter
- ' Class Lautstärke
- Public Class Lautstaerke
- 'Windows zugriff
- Private Declare Sub keybd_event Lib "user32" _
- (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
- Const KEYEVENTF_KEYDOWN As Integer = 0
- Const KEYEVENTF_KEYUP As Integer = 2
- ' Lauter
- Public Shared Sub Leiser()
- Call keybd_event(CByte(System.Windows.Forms.Keys.VolumeDown), 0, KEYEVENTF_KEYDOWN, 0) ' Taste runter
- Call keybd_event(CByte(System.Windows.Forms.Keys.VolumeDown), 0, KEYEVENTF_KEYUP, 0) ' Taste rauf
- End Sub
- ' Leiser
- Public Shared Sub Lauter()
- Call keybd_event(CByte(System.Windows.Forms.Keys.VolumeUp), 0, KEYEVENTF_KEYDOWN, 0)
- Call keybd_event(CByte(System.Windows.Forms.Keys.VolumeUp), 0, KEYEVENTF_KEYUP, 0)
- End Sub
- ' Mute
- Public Shared Sub Stumm()
- Call keybd_event(CByte(System.Windows.Forms.Keys.VolumeMute), 0, KEYEVENTF_KEYDOWN, 0)
- Call keybd_event(CByte(System.Windows.Forms.Keys.VolumeMute), 0, KEYEVENTF_KEYUP, 0)
- End Sub
- End Class
- Dim leiser1 As Boolean = False
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Dim Stimmen As List(Of String) = nSpeech.SpeechOutput.GetVoices()
- Dim Output As New nSpeech.SpeechOutput(Stimmen(1))
- perfCounter = New System.Diagnostics.PerformanceCounter
- perfCounter.CategoryName = "Processor"
- perfCounter.CounterName = "% Processor Time"
- perfCounter.InstanceName = "_Total"
- Dim Wörter() As String = New String() {"Lauter", "Leiser", "Stumm", "Heute ist der?", "On", "Leiser start", "Leiser Stop", "Lauter start", "Lauter Stop", "Uhrzeit?", "Meine Notizen?", "Wie geht es dir?", "Zeit", "Datum?"}
- Dim Input As New nSpeech.SpeechInput(Sub(Text As String)
- If Text = "Lauter" Then
- Output.Speak("Lautstärke erhöht")
- Lautstaerke.Lauter()
- ElseIf Text = "Leiser" Then
- Output.Speak("Lautstärke verringert")
- Lautstaerke.Leiser()
- Output.Speak("Lautstärke verringert")
- ElseIf Text = "Leiser start" Then
- Output.Speak("Lautstärke verringern Startet")
- leiser1 = True
- ElseIf Text = "Leiser Stop" Then
- leiser1 = False
- Output.Speak("Lautstärke verringert Stopt")
- ElseIf Text = "Lauter start" Then
- lauterup.Start()
- Output.Speak("Lautstärke erhöhen startet")
- ElseIf Text = "Lauter Stop" Then
- lauterup.Stop()
- Output.Speak("Lautstärke erhöhen stopt")
- ElseIf Text = "Stumm" Then
- Output.Speak("Lautstärke auf Stumm geschaltet")
- Lautstaerke.Stumm()
- ElseIf Text = "On" Then
- Lautstaerke.Stumm()
- Output.Speak("Lautstärke angeschaltet")
- ElseIf Text = "Heute ist der?" Or Text = "Datum?" Then
- Dim heutm As String = Format(Now.Month, "0")
- Dim heutd As String = Format(Now.Day, "00")
- Dim heuty As String = Format(Now.Year)
- Output.Speak(heutd + "." + heutm + "." + heuty)
- ElseIf Text = "Zeit" Or Text = "Uhrzeit?" Then
- Dim heuts As String = Format(Now.Hour, "0")
- Dim heutm As String = Format(Now.Minute, "00")
- Output.Speak("Es ist" + heuts + "Uhr" + heutm)
- ElseIf Text = "Meine Notizen?" Then
- Dim textnot As String = TextBox1.Text
- If textnot = "" Then
- Output.Speak("Es sind keine Notizen Vorhanden!")
- Return
- Else
- Output.Speak(textnot)
- End If
- ElseIf Text = "Wie geht es dir?" Then
- Dim a As Integer = Integer.Parse(Format(perfCounter.NextValue, "##0"))
- Output.SpeakAsync("Meine Prozessor Auslastung ist bei" + Format(a) + "Prozent!")
- ProgressBar1.Value = a
- Label3.Text = Format(a) + "%"
- Return
- End If
- End Sub, Wörter)
- End Sub
- Private Sub leiserdown_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles leiserdown.Tick
- If leiser1 = True Then
- Lautstaerke.Leiser()
- Else
- Return
- End If
- End Sub
- Private Sub Lauterup_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lauterup.Tick
- Lautstaerke.Lauter()
- End Sub
- Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- End Sub
- End Class
Anbei die Form:
PS: Den Code schreib ich wenn ich Fertig bin noch übersichtlicher usw, also nicht Darüber WundernBin eigendlich PHP Html und javascript Programmierer.
MDf Ruffo -
-
Hier bitte:
Das Gui ist auch noch nicht FertigKommt noch nen Player und so rein
PS: Du musst die nSpeech.dll warscheinlich neu einweisen schätze ich oder?Hab die mit in die RAR gefügt.
PS2: Hab mir für die Sprachausgabe extra ne Deutsche PSrache Runtergeladen.. Du müsstest in dieser Zeile die 1 auf die Null umändern.
Bei mir ist das Zeile 51.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Ruffo“ ()
-
Verwende vll erstmal anständige aufrufe und nicht Tasten simulationen....
Die WinAPI Deklarationen reinschreiben bringt recht wenig wenn diese nicht aufgerufen werden... nochmal :geekpedia.com/tutorial176_Get-…he-wave-sound-volume.html -
-
-
-
-
Klappt nicht
VB.NET-Quellcode
- ' Calculate the volume that's being set
- Dim NewVolume As Integer = ((UShort.MaxValue \ 10) * trackBar1.Value)
- ' Set the same volume for both the left and the right channels
- Dim NewVolumeAllChannels As UInteger = ((CUInt(NewVolume) And &HFFFF) Or (CUInt(NewVolume) << 16))
- ' Set the volume
- waveOutSetVolume(IntPtr.Zero, NewVolumeAllChannels)
Könnte das daran Liegen, das ich mehrere Wiedergabegeräte gleichzeitig im Betrieb hab? -
-
Ähnliche Themen
-
Robin (Black-Knight) - - Sonstige Problemstellungen
-
pc-freack - - Sonstige Problemstellungen