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);