필터 지우기
필터 지우기

how to block push button after pressed?

조회 수: 2 (최근 30일)
Firzi Mukhri
Firzi Mukhri 2013년 5월 25일
I have 4 push button on my GUI. One 'play' button, one 'poor' button, one 'okay' button, one 'good' button.
the program start by clicking 'play' button that will play a sound.
the user will then have to grade the song using the other 3 button, either 'poor', 'okay' or 'good'.
after the user grade the song, the 3 button is programmed to call the 'play' button function, and next song will be played.
the problem is, if the user pressed the play button 'again' without grading the song. next song will be played leaving the last song to skip and not graded. Does anyone have any idea how to prevent this? Thank you.

채택된 답변

Image Analyst
Image Analyst 2013년 5월 25일
Just have the Play button call a function you write called PlayNextSoundFile(). Then for the other 3 button callbacks, you do
function btnGood_Callback(hObject, eventdata, handles)
% Log score for this song.
songNumber = handles.songNumber; % Increment this in PlayNextSoundFile
handles.songScore(songNumber) = 2; % or whatever.
% Play the next sound file. Also increments handles.songNumber.
PlayNextSoundFile(handles);
guidata(handles);
Same thing for the okay and poor callbacks. Set the score to whatever number you want to use to rate them good, poor, or okay. Or alternatively you could put up a slider or a bunch of radio buttons to get the user's rating of that song.
  댓글 수: 3
Image Analyst
Image Analyst 2013년 5월 25일
If the user clicks the play button, you can call PlayCurrentSong(handles) to replay the current song only, and so then it won't increment to the next song and play the next song.
Firzi Mukhri
Firzi Mukhri 2013년 5월 25일
Thanks! I understand now.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Audio I/O and Waveform Generation에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by