@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: This function sets the output audio volume of the pocket pc device. !!!!C# Signature: [DllImport("coredll.dll", SetLastError=true)] protected static extern int waveOutSetVolume(IntPtr device, uint volume); !!!!VB Signature: Declare Function waveOutSetVolume Lib "coredll.dll" (ByVal device As IntPtr, ByVal volume As Integer) As Integer !!!!User-Defined Types: None. !!!!Notes: values for 'volume' are between value between 0 (off) and 65536 (max) if there is only one audio device, you can set 'device' to null (or IntPtr.Zero) !!!!Tips & Tricks: Please add some! !!!!Sample Code: // The volume to pass in (0xffff or 65535 equals max volume) uint newVolume = (uint)0xffff; // Set this value in the left and right channels uint NewVolumeAllChannels = ((( uint )newVolume & 0x0000ffff) | (( uint )newVolume << 16)); // Call func to set volume. waveOutSetVolume(IntPtr.Zero, NewVolumeAllChannels); RichardW: Fixed the example code. It didn't work because the range of volume values are 0 to 65535 and the value passed in the example was 65536, which is set the right volume to 1 (out of 65535) and the left volume to 0. But I create this example below. public enum Volumes : int { OFF = 0, LOW = 858993459, NORMAL = 1717986918, MEDIUM = -1717986919, HIGH = -858993460, VERY_HIGH = -1 } [DllImport("coredll.dll", SetLastError=true)] internal static extern int waveOutSetVolume(IntPtr device, int volume); [DllImport("coredll.dll", SetLastError=true)] internal static extern int waveOutGetVolume(IntPtr device, ref int volume); public static Volumes Volume { get { int v = (int)0; waveOutGetVolume(IntPtr.Zero, ref v); switch (v) { case (int)Volumes.OFF: return Volumes.OFF; case (int)Volumes.LOW: return Volumes.LOW; case (int)Volumes.NORMAL: return Volumes.NORMAL; case (int)Volumes.MEDIUM: return Volumes.MEDIUM; case (int)Volumes.HIGH: return Volumes.HIGH; case (int)Volumes.VERY_HIGH: return Volumes.VERY_HIGH; default: return Volumes.OFF; } } set { waveOutSetVolume(IntPtr.Zero, (int)value); } } !!!!Alternative Managed API: Do you know one? Please contribute it! Documentation: waveOutSetVolume@msdn on MSDN
Edit coredll.waveOutSe...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.