C#的程序长年自动工作,自动播放报警音乐,在windows 7下时常就不发声了?

我处使用C#,System.Media.SoundPlayer及WindowsMediaPlayer自动播放报警音乐,需要全年24小时工作。以前在windows XP下使用正常。
现在在windows 7下使用,时常不发声了。重启电脑后又能正常工作一段时间。
请问:怎样设置可以正常工作?
请问:在windows 7下,windows 10下也可以,哪种声音播放可以不间断、可靠使用?
axWindowsMediaPlayer1.URL = GV.gcMusicLibPath + MusicName + ".mp3"; // 乐曲名称(包含路径)
axWindowsMediaPlayer1.Ctlcontrols.play(); ; // 播放呼叫
System.Threading.Thread.Sleep(5000); // 每种音乐只播放前n秒

axWindowsMediaPlayer1.close(); // 停止播放
请各位大侠赐教。

axWindowsMediaPlayer是对windows media player这个播放软件的封装,相当于启动一个庞大的外挂软件,自然可靠性就差,特别是你不断调用它。
建议你调用PlaySound(string pszSound,int hmod,int fdwSound)
[DllImport("winmm.dll")]
public static extern bool PlaySound(string pszSound,int hmod,int fdwSound);
public const int SND_FILENAME = 0x00020000;
public const int SND_ASYNC = 0x0001;
这个api函数非常可靠。但是可能需要你把警报mp3先转换成wav格式(比如用windows附件自带的录音机)

还有一个更可靠的
MessageBeep
using System.Runtime.InteropServices;

public const int MB_ICONEXCLAMATION = 48;

[DllImport("user32.dll")]
public static extern bool MessageBeep(uint uType);

MessageBeep( MB_ICONEXCLAMATION );

这东西播放的是windows自带的各种报警音。不能直接播放外部文件(但是你可以在控制面板的声音里把你的外部声音作为报警音)