2013-06-21 58 views
0

我正在爲實驗寫一個任務,我需要一個用戶聽到400聲純音的聲音脈衝和600毫秒的間隔,但是 - 在10間隔的百分比有間隔持續時間的變化。在循環播放聲音序列時的用戶輸入[matlab]

用戶每次認識到持續時間的變化(需要保存在數組中的時間),並且如果沒有變化,用戶需要按下一個按鍵 - 用戶不會觸摸按鍵..(所以它是0爲不輸入,1輸入)

for i = 1:pulse_number; 
    wavplay(amplitude*beep,Sr,'async') 
    pause(ISIarray(i)) % array of different interval duration 
end 

我不能找到一種方式來運行的循環,並收集循環中,等待用戶輸入進行內部用戶輸入(的getchar(psychotoolbox)

謝謝!

回答

0

使用KbCheck或KbQueueCheck(如果使用隊列)。您將無法使用暫停。相反,使用while循環:

start_time = GetSecs; 
while GetSecs - start_time < interval_duration(i) 
    [press secs] = KbCheck; 
end