2011-10-04 58 views
0

我開發了一個虛擬鍵盤,需要添加聲音fx。它適用於臺式電腦,但採用基於Windows 7 32位Atom N455 CPU的平板電腦,當我觸摸鍵盤時聲音會延遲並且很煩人,當您的手指在空中時會聽到聲音。我查了一下,虛擬鍵盤沒有延遲。然後我注意到所有的Windows聲音延遲。當我調整任務欄的音量時,我會聽到延遲的「叮」聲,比如500+毫秒。我還檢查了沒有CPU /磁盤消耗過程。我玩憤怒的小鳥,所有的聲音效果都不錯,沒有任何惱人的延遲。爲什麼在Atom CPU上發出蜂鳴聲延遲

我認爲 - 也許我不得不問在Stackoverflow-的超級用戶這一翻譯下面是相關的代碼它不相關的代碼:

預加載聲音到內存

//Load beep into memory 
beep7 = File.ReadAllBytes(System.Windows.Forms.Application.StartupPath + "\\media\\beep-7.wav"); 
mp = new MediaPlayer(beep7); //10 KB wav file 

凡聲音播放:

mp.Play(); //The sound delays here 
+1

聽起來像不好的觸摸板驅動程序。 –

+0

@ DanielA.White:不確定當討論的行爲非常正常時,我會認爲這是一個糟糕的驅動程序,並且延遲是由Windows添加的。 –

+0

請注意,我使用鼠標而不是觸摸,同樣的延遲。 –

回答

0

我想你會發現觸摸板事件被延遲,而不是聲音本身。

標準Windows觸控處理正在等待您確定您是在進行拖動,點按,多點觸控手勢等。此延遲可以通過using the raw touch interface而不是點擊和手勢系統來消除。一些觸摸板具有稱爲「手掌拒絕」的特徵,這也增加了延遲。

+0

當我觸摸鍵盤時,文本顯示沒有延遲,相關文本框立即更新其內容。 –

+1

@NimeCloud:無論如何,請嘗試調用'RegisterTouchWindow',這對我來說顯着減少了延遲。我想這個延遲對於人類大腦來說比使用聲音檢測要容易得多。 –

+0

我會嘗試http://msdn.microsoft.com/en-us/library/windows/desktop/dd940546(v=vs.85).aspx –