C#在Windows下使用WMPLib控制音量故事:我在写一个语音控制的音乐播放器。以前这个项目用的是winamp音乐——我想放弃了。我想将语音控制与音乐播放器集成在一起。问题在于,当更改媒体播放器对象(mplayer.settings.volume=5;)的音量属性时,它会更改MASTER音量。这意味着在播放音乐时,任何语音反馈都将完全听不见。开车的时候一点也不酷。如果我启动WindowsMediaPlayer,我可以在不影响主音量的情况下更改音乐的音量。所以必须有办法。我考虑过可能会发现那里是否有均衡器控件,但是关于它的文档很可怜。-那个和我的google-fu都不弱。那么有谁知道如何使用windowsmediaplayer控件来分离主音量和音乐音量?详细信息:我相信目标机器是XP(sp3)、.NET4.0。此外,这是一个控制台应用程序。在此先感谢您的帮助,我发现这种做的唯一方法是使用Interop和WM_APPCOMMAND窗口消息:privateconstintAPPCOMMAND_VOLUME_MUTE=0x80000;私人常量intWM_APPCOMMAND=0x319;privateconstintAPPCOMMAND_MICROPHONE_VOLUME_UP=26*65536;privateconstintAPPCOMMAND_MICROPHONE_VOLUME_DOWN=25*65536;[DllImport("user32.dll")]publicstaticexternIntPtrSendMessageW(IntPtrhWnd,intMsg,IntPtrwParam,IntPtrlParam);privatevoidSetMicVolume(){SendMessageW(newWindowInteropHelper(this).Handle,WM_APPCOMMAND,new(IntPtr)APPCOMMAND_MICROPHONE_VOLUME_UP);//or_DOWN}我已经在WindowsMediaPlayerVER12中测试过这个,所以我想对于大多数人来说它更简单比使用“user32.dll”:privatestaticWMPLib.WindowsMediaPlayerPlayer;publicstaticvoidVolumeUp(){if(Player.settings.volume1){Player.settings.volume=(Player.settings.volume-(Player.settings.volume/2));}}毫无疑问,已经有一段时间了。它不会改变主音量,只会改变媒体播放器的音量。Windows主卷保持不变。希望这对不限于XPSP3的人有所帮助。以上就是C#学习教程:在Windows中使用WMPLib控制C#中的卷共享。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文来自网络收集,不代表作品如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
