vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Sch?tzen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2017
 
zurück
Rubrik: Audio & Multimedia09.05.01
auxSetVolume-Funktion

Diese Funktion setzt die Lautstärke-Einstellung für ein auxiales Ausgabegerät.

Betriebssystem:  Win95, Win98, WinNT, Win2000, WinMEViews:  12.844 

Summer-Special bei Tools & Components!
Gute Laune Sommer bei Tools & Components
Top Summer-Special - Sparen Sie teilweise bis zu 120,- EUR
Alle sev-Entwicklerkomponenten und Komplettpakete jetzt bis zu 25% reduziert!
zum Beispiel:
  • Developer CD nur 479,20 EUR statt 599,- EUR
  • sevDTA 3.0 nur 224,30 EUR statt 299,- EUR
  •  
  • vb@rchiv   Vol.6 nur 20,00 EUR statt 24,95 EUR
  • sevCoolbar 3.0 nur 55,20 EUR statt 69,- EUR
  • - Werbung -Und viele weitere Angebote           Aktionspreise nur für kurze Zeit gültig

    Beschreibung:
    Diese Funktion setzt die Lautstärke-Einstellung für ein auxiales Ausgabegerät.

    Achtung:
    Hat das Gerät nur einen Monokanal so ist die Lautstärke nur der "Low order word" der lpdwVolume Variable. Um herauszufinden ob ein Audiogerät 2 Stereo Kanäle, nur einen Monokanal oder die Lautstärke-Einstellung überhaupt nicht besitzt, kann man die auxGetDevCaps-Funktion aufrufen. Der Gültigkeitbereich der Lautstärke eines Audiokanals ist von "0" (ganz leise) über "32767" (mittel) bis "-1" (ganz laut)

    Beispiel:
    Ganz leise = 0
    etwas lauter = 11000
    fast mittellaut = 32000
    mehr als mittellaut = -32000
    noch lauter = -11000
    Ganz laut = -1

    Deklaration:

    Declare Function auxSetVolume Lib "winmm.dll" ( _
      ByVal uDeviceID As Long, _
      ByVal dwVolume As Long) As Long

    Parameter:
    uDeviceIDGeräte-Index. Ist ein Geräte-Index ungültig, wird "MMSYSERR_BADDEVICEID" zurückgegeben. Um die Geräte ID's zu ermitteln kann man die auxGetDevCaps-Funktion aufrufen.
    dwVolume(Long). Wert, der die Lautstärke beider Kanäle angibt.

    Rückgabewert:
    Die Funktion liefert "MMSYSERR_NOERROR" zurück, wenn der Funktionsaufruf erfolgreich war, andernfalls (z.B. ungültige DeviceID) wird "MMSYSERR_BADDEVICEID" zurückgegeben.

    Rückgabekonstanten:

    Const MMSYSERRR_NOERROR = 0 ' Kein Fehler
    Const MMSYSERR_BASE = 0 ' Basis Konstante
    Const MMSYSERR_BADDEVICEID = (MMSYSERR_BASE+ 2) ' Falscher Geräte ID

    Beispiel:

    Private Declare Function auxSetVolume Lib "winmm.dll" ( _
      ByVal uDeviceID As Long, _
      ByVal dwVolume As Long) As Long
    Private Declare Sub CopyMemory Lib "kernel32" _
      Alias "RtlMoveMemory" ( _
      Destination As Any, _
      Source As Any, _
      ByVal Length As Long)
     
    Private Const MMSYSERR_NOERROR = 0
    Private Const MMSYSERR_BASE = 0
    Private Const MMSYSERR_BADDEVICEID = (MMSYSERR_BASE + 2)
    Private Sub Command1_Click()
      Dim Volume(1) As Integer, AuxSetVol As Long
      Dim Retval As Long, Gerät As Integer
     
      Gerät = 0 ' meist Wave
     
      ' Stumm schalten
      MsgBox "Die Lautstärke wird jetzt auf 0% geschaltet", vbInformation, _
        "Stumm schalten"
      Volume(0) = 0  'Linker Kanal = ganz leise
      Volume(1) = 0  'Rechter Kanal = ganz leise
      Call CopyMemory(AuxSetVol, Volume(0), Len(Volume(0)) * 2)
      Retval = auxSetVolume(Gerät, AuxSetVol)
      If Retval = MMSYSERR_BADDEVICEID Then _
        MsgBox "Gerät " & Gerät & " wurde nicht gefunden", _
      vbCritical, "Fehler": Exit Sub
     
      ' Mittlere Lautstärke
      MsgBox "Die Lautstärke wird jetzt auf 50% geschaltet", vbInformation, _
        "Mittlere Lautstärke"
      Volume(0) = 32767  'Linker Kanal = ca. 50%
      Volume(1) = 32767  'Rechter Kanal = ca. 50%
      Call CopyMemory(AuxSetVol, Volume(0), Len(Volume(0)) * 2)
      Retval = auxSetVolume(Gerät, AuxSetVol)
      If Retval = MMSYSERR_BADDEVICEID Then MsgBox "_
        Gerät " & Gerät & " wurde nicht gefunden", _
      vbCritical, "Fehler": Exit Sub
     
      ' Volle Lautstärke
      MsgBox "Die Lautstärke wird jetzt auf 100% geschaltet", vbInformation, _
        "Volle Lautstärke"
      Volume(0) = -1  'Linker Kanal = 100%
      Volume(1) = -1  'Rechter Kanal = 100%
      Call CopyMemory(AuxSetVol, Volume(0), Len(Volume(0)) * 2)
      Retval = auxSetVolume(Gerät, AuxSetVol)
      If Retval = MMSYSERR_BADDEVICEID Then _
        MsgBox "Gerät " & Gerät & " wurde nicht gefunden", _
      vbCritical, "Fehler": Exit Sub
     
      ' Geteilte Lautstärke
      MsgBox "Die Lautstärke wird jetzt auf 100% / 0% geschaltet", vbInformation, _
        "Geteilte Lautstärke"
      Volume(0) = -1  'Linker Kanal = 100%
      Volume(1) = 0  'Rechter Kanal = 0%
      Call CopyMemory(AuxSetVol, Volume(0), Len(Volume(0)) * 2)
      Retval = auxSetVolume(Gerät, AuxSetVol)
      If Retval = MMSYSERR_BADDEVICEID Then _
        MsgBox "Gerät " & Gerät & " wurde nicht gefunden", _
      vbCritical, "Fehler": Exit Sub
    End Sub

    Diese Seite wurde bereits 12.844 mal aufgerufen.

    nach obenzurück
     
       

    Druckansicht Druckansicht Copyright ©2000-2017 vb@rchiv Dieter Otter
    Alle Rechte vorbehalten.
    Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

    Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel