0

我正在编写一个实验任务,我需要用户听到 400 个纯音脉冲和 600 ms 之间的间隔,但是 - 在 10% 的间隔中,间隔的持续时间会发生变化。

用户每次识别持续时间的变化时都需要按下一个键(时间需要保存在数组中..),如果没有变化 - 用户不会触摸键..(所以它是 0 表示没有输入, 1 用于输入)

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

我找不到运行循环并收集用户输入的方法(循环内的GetChar (psychotoolbox)等待用户输入继续)

谢谢 !!

4

1 回答 1

1

使用 KbCheck 或 KbQueueCheck(如果使用队列)。您将无法使用暂停。相反,使用 while 循环:

start_time = GetSecs;  
while GetSecs - start_time < interval_duration(i)  
    [press secs] = KbCheck;  
end  
于 2013-07-08T20:21:02.443 回答