现在的位置: 首页 > 综合 > 正文

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

2013年09月08日 ⁄ 综合 ⁄ 共 533字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.