Mitenkähän voisi tehdä äänenvoimakkuuden säätimen vb2008:lla? että esim. scrollbarilla pystyisi säätämään koko tietokoneen äänenvoimakkuutta..?
Moi mr-henri
jos alusta ompi XP niin imppaa täältä MixerLib.zip -> pura tiedosto MixerLib.dll C:\Windows\System32 -hakemistoon -> avaa Windows komentokehoteikkuna -> krjoita: cd \Windows\Sytem32 & paina Enter-näpykkää -> kirjoita: gacutil /i MixerLib.dll | ngen install MixerLib.dll
(asennuksen purku: ngen uninstall MixerLib.dll | gacutil /u MixerLib)
'Väännetty SharpDevelop 3.1 Betalla
Imports System
Imports System.Windows.Forms
Imports MixerLib 'GAC-välilehdeltä referenssi: MixerLib
Public Partial Class MainForm
Dim mixer As New MixerLib.AudioMixer.Mixer(0)
Public Sub New()
InitializeComponent()
End Sub
Sub MainFormLoad(sender As Object, e As EventArgs)
If mixer.Devices.Count = 0 Then
MsgBox("mixerilaitetta ei ole asennettu")
Me.Close
End If
Me.MaximizeBox = False
Me.Text = "MASTERVOLUME"
Me.CheckBox1.Text = "Vaimenna"
TrackBar1.Orientation = 1
TrackBar1.Maximum = 1000
TrackBar1.Minimum = 0
TrackBar1.LargeChange = 50
TrackBar1.SmallChange = 5
CheckBox1.Checked = _
mixer.Lines.Item(0).Mute
TrackBar1.Value = _
mixer.Lines.Item(0).Volume / 65.535
End Sub
Sub TrackBar1Scroll(sender As Object, e As EventArgs)
mixer.Lines.Item(0).Volume _
= 65.535 * TrackBar1.Value
End Sub
Sub CheckBox1CheckedChanged(sender As Object, e As EventArgs)
mixer.Lines.Item(0).Mute = CheckBox1.Checked
End Sub
Sub MainFormFormClosing(sender As Object, e As FormClosingEventArgs)
Me.Dispose
End Sub
Sub MainFormFormClosed(sender As Object, e As FormClosedEventArgs)
End
End Sub
End ClassMoi taas mr-henri
jos alusta ompi Vista tai uudempi niin imppaa täältä MixerApi.zip -> pura tiedosto MixerApi.dll C:\Windows\System32 -hakemistoon -> avaa Windows komentokehoteikkuna -> krjoita: cd \Windows\Sytem32 & paina Enter-näpykkää -> kirjoita: gacutil /i MixerApi.dll | ngen install MixerApi.dll
(asennuksen purku: ngen uninstall MixerApi.dll | gacutil /u MixerApi)
'Väännetty SharpDevelop 3.1 Betalla
Imports System
Imports System.Windows.Forms
Imports MixerApi 'Tuo referenssi GAC-välilehdeltä
Public Partial Class MainForm: Inherits Form
Private device As MMDevice
Public Sub New()
Me.InitializeComponent()
Me.checkBox1.Text = "Vaimenna"
Me.MaximizeBox = False
Me.Text = "MASTERVOLUME"
Me.trackBar1.Orientation = 1
Me.trackBar1.Maximum = 100
Me.trackBar1.Minimum = 0
Me.trackBar1.LargeChange = 20
Me.trackBar1.SmallChange = 5
Me.trackBar1.TickFrequency = 10
Dim DevEnum As New MMDeviceEnumerator()
device = DevEnum.GetDefaultAudioEndpoint( _
EDataFlow.eRender, ERole.eMultimedia)
trackBar1.Value = CInt((device.AudioEndpointVolume. _
MasterVolumeLevelScalar * 100))
Me.checkBox1.Checked = device.AudioEndpointVolume.Mute
AddHandler device.AudioEndpointVolume.OnVolumeNotification, _
New AudioEndpointVolumeNotificationDelegate( _
AddressOf AudioEndpointVolume_OnVolumeNotification)
End Sub
Private Sub AudioEndpointVolume_OnVolumeNotification( _
data As AudioVolumeNotificationData)
If Me.InvokeRequired Then
Dim Params As Object() = New Object(0) {}
Params(0) = data
Me.Invoke(New AudioEndpointVolumeNotificationDelegate( _
AddressOf AudioEndpointVolume_OnVolumeNotification), _
Params)
Else
trackBar1.Value = CInt((data.MasterVolume * 100))
End If
End Sub
Private Sub trackBar1Scroll(sender As Object, e As EventArgs)
device.AudioEndpointVolume.MasterVolumeLevelScalar _
= (CSng(trackBar1.Value) / 100F)
End Sub
Sub CheckBox1CheckedChanged(sender As Object, e As EventArgs)
device.AudioEndpointVolume.Mute = CheckBox1.Checked
End Sub
Sub MainFormFormClosing(sender As Object, e As FormClosingEventArgs)
Me.Dispose
End Sub
Sub MainFormFormClosed(sender As Object, e As FormClosedEventArgs)
End
End Sub
End ClassJostakin syystä tämä ei toimi minulla. kun säädintä liikuttaa, ei tapahdu mitään, mutta kun säädän master volumea windowsin omalla säätimellä, niin tämän ohjelman säädin liikkuu sen mukana. Vaimennuskaan ei toimi. kokeilin visual basic express editionilla(2008) ja sharp developer 3.1:llä. Vista on käyttiksenä.
Moi taas mr-henri
Pura MixerApi.dll -asennus kuten edellisessä viestissäni on neuvottu ja jos rekisteröit MixerApi.tlb niin poista rekisteröinti ja poista tiedosto/t
Imppaa täältä MixerApi.dll uusi versio, asenna samaan malliin kuten edellinenkin, testaa ja anna palautetta...
Aihe on jo aika vanha, joten et voi enää vastata siihen.