[英]volume control in windows 7 c#
我知道这个话题已经在这里讨论过了,但是我仍然无法使它起作用。 我只需要得到在我的机器当前的音量(我会从那里开始,我想我的扩展项目的功能会更容易后),使用Win 7的SDK,并且不使用代码等公布项目这样 。 我应该为我的项目添加特定的参考吗? 使用dllimport吗? 任何帮助,将不胜感激
也许与此: http : //msdn.microsoft.com/en-us/library/ms679138%28VS.85%29.aspx (ISimpleAudioVolume接口)
-编辑-
该项目似乎包含您要搜索的内容。
http://hintdesk.com/Web/Source/Adjust%20System%20Volume.zip
如果没有,您可以转到此处: 在c#中获取主音量
或这里: http : //social.msdn.microsoft.com/Forums/en-US/isvvba/thread/05dc2d35-1d45-4837-8e16-562ee919da85
但是我找到的关于此的最佳代码始终返回到您在问题中提供的链接。 祝好运!
--Edit2--
或者,您可以在以下帮助下使用FMOD(c ++): 对C#使用FMOD?
这是: http : //sourceforge.net/projects/fmodnet/
使用Core Audio API,以下类将使您能够获取和设置默认音频端点的音量以进行播放。
using CoreAudioApi;
public class SystemVolumeConfigurator
{
private readonly MMDeviceEnumerator _deviceEnumerator = new MMDeviceEnumerator();
private readonly MMDevice _playbackDevice;
public SystemVolumeConfigurator()
{
_playbackDevice = _deviceEnumerator.GetDefaultAudioEndpoint(EDataFlow.eRender, ERole.eMultimedia);
}
public int GetVolume()
{
return (int)(_playbackDevice.AudioEndpointVolume.MasterVolumeLevelScalar * 100);
}
public void SetVolume(int volumeLevel)
{
if (volumeLevel < 0 || volumeLevel > 100)
throw new ArgumentException("Volume must be between 0 and 100!");
_playbackDevice.AudioEndpointVolume.MasterVolumeLevelScalar = volumeLevel / 100.0f;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.