paip.声音按键音延迟的解决



paip.声音延迟的解决


作者Attilax ,  EMAIL:[email protected]




一个打开文件选择框操作有按键音...但是按键音延迟的很厉害,等到框都出来了,才有声音,大概一秒多..


先是采用放音代码抛线程的方式,不解决问题.


在放音与打开OpenFileDialog 之间休眠 ,  Thread.Sleep(200);基本OK了,不过这样一来会手慢打开文件框的速度..把SLEEP调小又没效果了..


看来要调用WIN32 API  来解决了.
..把文件读入到内存..在FORM_LOAD的时候...原理是调用winmm.dll,然后在点按钮时播放..效果OK 了..










----------代码


引用MOLEI.dll


   SoundClickC417 scC4h = new SoundClickC417("");
  scC4h.playByte();






------框架内原代码如下


[DllImport("winmm.dll")]
private static extern int sndPlaySoundA(byte[] lpszSoundName, int uFlags);


  //播放缓存
 sndPlaySoundA(ba, SND_MEMORY);






参考:
C#声音控制__NET教程_编程技术.htm

你可能感兴趣的:(other)