草庐IT

c++ - SndVol 如何改变给定 Audio Session 的音量级别?

我正在编写自己的API来执行SndVol系统实用程序的一些功能。我希望此API的一部分能够设置给定audiosession的音量级别.SndVol在“设备”面板上显示一个slider,用户可以使用它来更改音频设备的主音量级别,并为每个AudioSession(在“应用程序”面板上)显示一个更改音量级别的slidersession的:如果我拖动其中一个AudioSession的sliderhandle,则SndVol能够更改AudioSession的音量级别。它是如何做到的?我认为可以使用WindowsVista的CoreAudioAPI,但我遇到了一个问题,尽管我能够使用IAudioS

c++ - 改变音量 win32 c++

我将如何在C++win32中改变音量?另外我将如何静音/取消静音?感谢您的帮助! 最佳答案 使用waveOutSetVolumeAPI。这是一个例子:DWORDdwVolume;if(waveOutGetVolume(NULL,&dwVolume)==MMSYSERR_NOERROR)waveOutSetVolume(NULL,0);//mutevolume//laterpointincode,tounmutevolume...waveOutSetVolume(NULL,dwVolume);

c# - 在 Windows 7 中获取当前系统音量

如何获取Windows7系统当前的主音量?我在Google中查找,但每个解决方案都返回了诸如-1或4686346之类的值,但没有明确解释它们的含义。 最佳答案 您正在寻找EndpointVolumeAPI.这是WindowsVista中发布的新音频API的一部分,可用于获取或设置主音量。由于您不需要支持Vista之前的Windows版本(即WindowsXP),因此这项工作变得相当容易,因为这些操作系统版本之间的相关基础结构发生了重大变化。这可能是您尝试过的现有示例无法正常工作的原因。CodeProject上有一个完整的托管包装器库

c++ - 如何将系统音量级别作为从 0 到 100 的标量?

我目前正在开发“音量混合器”来控制我PC(Windows10)上每个程序的音量。如何将每个节目/AudioSession的音量水平作为从0到100的标量?如您所见,在下面的代码中,我找到了GetPeakValue函数,但它返回的值类似于0.0812654或0.021352。我确定这些值是从1.0到0.0的标量中每个AudioSession的音量。但我想要的是音量限制,例如您可以在Windows音频混音器中设置,而不是当前级别。因此,如果我将程序音量级别设置为50%,我需要一个类似于0.5的值。在第二个函数(getVolume)中,您会看到我已经获得了0-100标量中的主音量,但是端点设

c++ - 如何使用混音器 api 在 Windows 7 中控制主混音器音量?

在windowsXP中,通过使用混音器api设置目标线路的音量来控制混音器设备的主音量非常容易。可以通过Microsoft提供的sdk示例应用程序轻松测试。但是在windows7的情况下,每当我在我的应用程序中打开一个混音器设备,它显示为新的音量应用程序,我只能控制我的应用程序的音量。无法控制系统的完整声音。任何人都可以建议我如何控制会影响声音的扬声器的完整声音所有正在运行的应用程序。如何使用Windows7中的应用程序更改扬声器音量? 最佳答案 我相信您正在寻找的方法是SetMasterVolumeLevelScalar。C中的一

c# - 使用 C# 设置 Windows 音量

我一直在网上搜索一种从C#控制计算机音频的方法。我发现这段代码运行良好。publicstaticfloatGetMasterVolume(){//getthespeakers(1strender+multimedia)deviceIMMDeviceEnumeratordeviceEnumerator=(IMMDeviceEnumerator)(newMMDeviceEnumerator());IMMDevicespeakers;constinteRender=0;constinteMultimedia=1;deviceEnumerator.GetDefaultAudioEndpoint

c# - 如何以编程方式控制我的电脑的音量?

我有一个没有音乐键的键盘,用于调高和调低我PC中音乐的音量、播放、停止等。不懂就this是我的键盘和this不是。我想在Windows和Delphi或C#中实现键盘Hook以在我的键盘中创建音量功能,但我不知道如何通过代码调高和调低音量。我正在尝试this和this示例,但没有用(顺便说一句,全部在Delphi中)。你知道怎么用代码调高音量和调低音量吗? 最佳答案 Delphi代码如下。我的keyhook向我的主窗体发送一条消息,其中包含LParam中的keyVK代码,procedureTmainFrm.keyHook(varmsg

c++ - 为什么我不能使用 IAudioEndpointVolume::SetMasterVolumeLevelScalar 为 USB/Firewire 音频接口(interface)设置主音量

我正在尝试修复围绕portmixer的Audacity错误。输出/输入级别可以使用mac版本的portmixer设置,但在Windows中并不总是如此。我正在调试portmixer的窗口代码,试图让它在那里工作。使用IAudioEndpointVolume::SetMasterVolumeLevelScalar设置主音量对于板载声音效果很好,但是使用专业的外部USB或火线接口(interface),如RMEFireface400,输出音量不会改变,尽管它反射(reflect)在Window的声音控制面板中对于那个设备,也在系统混音器中。此外,在我们的程序之外,更改系统混音器的主slid

c++ - Windows Vista/7 上的 SDL_Mixer MIDI 音量问题

我实际上并不精通C++或SDL_Mixer,但我还是代表Doom社区问这个问题。简而言之,没有人编写Doom源端口似乎可以弄清楚如何在WindowsVista或7上使用SDL_Mixer独立控制正常音量和MIDI音量。我让永恒引擎的作者JamesHaley用他自己的话说:SeemstheconceptofindependentvolumefornativeMIDIdoesn'texistunderWindowsVistaor7,asusingMIDIvolumeslidersinanyapplicationthathasthem(includingmostgamesthatuseSDL

ios - 如何将应用程序音量与系统音量(iOS设备音量物理键)分开设置?

我们的应用程序可以在wifi扬声器上播放音乐。该应用程序的功能之一是通过按音量+/音量-iPhone上的硬键来更改扬声器的音量。其背后的逻辑是获取系统的音量值并将其发送给扬声器。但是,问题在于此功能会影响系统容量。无论如何,在应用程序内部按下音量键时,是否可以避免调节系统音量?这是我每次按下都会获得系统音量的代码:-(void)observeValueForKeyPath:(NSString*)keyPathofObject:(id)objectchange:(NSDictionary*)changecontext:(void*)context{if([keyPathisEqual:@