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 Class
Moi 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 Class
Jostakin 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.