0

私は実験用のタスクを書いています.400の純音パルスとその間の600ミリ秒の間隔をユーザーに聞く必要がありますが、間隔の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 に答える