Menu

#7 AudioMon extension doesn't work on Vista/Windows 7

open-accepted
nobody
5
2010-05-04
2010-01-20
No

Microsoft changed Multi Media API in Vista to be more BeOS-ish whereby each application controls it's own output to the system mixer. This works seamlessly except for applications which want to control and query the master system volume. The new MMDevice API is built around COM but all code is aimed at .net and not VB6. Consequently it's taking a little while to craft a VB6-friendly type library for it.

Discussion

  • Chris "Stan" Peel

    Here's the current progress:

    1. Have finally managed to create IMMDevice, IMMDeviceEnumeration and IMMDeviceCollection interfaces using mktyplib (more VB6-friendly than MIDL is)
    2. Can create a MMDeviceEnumeration
    3. Can create a MMDeviceCollection from it
    4. Can enumerate the collection, retrieving IMMDevice objects for each item in the collection

    Still to do:

    1. Create the ISimpleAudioVolume interface
    2. Create the IMMClientNotification interface
    3. Create the missing/padded methods required

     
  • Chris "Stan" Peel

    • status: open --> open-accepted
     
  • Chris "Stan" Peel

    I now have a _fully working_ application which monitors both system-wide mute and volume changes. That's the good news. The bad news is that, for some reason, trying to to anything inside the OnNotify() callback event other than - bizarrely - output text to a text box inside a Windows form results in an immediate crash. So far I've tried output to a file, PostMessage() to a window in a different process and PostMessage() to a window in the same process - all without success unfortunately.

     
  • Chris Peel

    Chris Peel - 2010-05-04
    • labels: --> Extension/AudioMon
    • milestone: --> Release_+n_(long_term)
     

Log in to post a comment.

MongoDB Logo MongoDB