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



paip.声音延迟的解决


作者Attilax ,  EMAIL:1466519819@qq.com




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


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


在放音与打开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
posted @ 2013-04-18 15:07  attilaxAti  阅读(44)  评论(0编辑  收藏  举报