检查系统是否有健全的c#
本文关键字:系统 是否 检查 | 更新日期: 2023-09-27 17:49:52
我们目前正在开发一款使用XNA的游戏,我们偶然发现了一个小声音问题。
当系统没有插入声音设备(扬声器等-当Win7在扬声器图标上显示红色叉)时,它会在尝试播放/加载声音时崩溃。
所以,我们想检查一下系统是否有输出声音的能力。这在c#中可能吗?
您确定它实际上正在崩溃,而不是简单地抛出一个未处理的异常吗?
理论上它应该抛出一个NoAudioHardwareException
。
尝试做一些音频(SoundEffect.MasterVolume
想到作为一种可能性,因为它是一个静态方法),看看你是否可以捕获异常。如果您确实捕获了一个异常,则只需不再执行任何音频工作。
我认为这将帮助 .........
[DllImport("winmm.dll", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
public static extern long GetNumDevs();
private void Button1_Click(System.Object sender, System.EventArgs e)
{
long I = 0;
I = GetNumDevs();
if (I > 0) {
Interaction.MsgBox("Your system can play sound files.");
} else {
Interaction.MsgBox("Your system can not play sound files.");
}
}