Errors with audiorecord function

1 vue (au cours des 30 derniers jours)
Nikos Korobos
Nikos Korobos le 18 Mar 2022
Commenté : Nikos Korobos le 22 Mar 2022
Hello everyone, I've written the below code so far.
Need Matlab to record(function to be running/active) for as long the button is pressed.
Then use the above running time as an input for the record function (screenshot).
Imagine it being like a play/pause button.
Gives me some errors
Can I use while (as long the state button value is True) instead of if(skips some code parts)?
Thanks in advance
  1 commentaire
Nikos Korobos
Nikos Korobos le 18 Mar 2022
Is it possible to replace the if with a while?

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 18 Mar 2022
Yes, it is possible. However, you cannot achieve your goals by doing that.
You are in the middle of a callback that fires every time the state of the button changes -- which can mean that it was pressed to start or can mean that it was pressed to end.
You should have your app store the current status, currently recording or not. You should have your app store the recorder object (at the app level).
When the button is pushed, have the value changed function check to see if it is a request to start recording or to stop recording.
  • If it is a request to start recording and you are already recording, either discard the press or else stop the existing recording and continue on as if you were not already recording.
  • If it is a request to start recording and you are not already recording (or you "fell through" after stopping an existing recording), create the recorder object and store it at the app level, and set your state to "recording", activate the record() method of the recorder, and return from the callback.
  • If it is a request to stop recording and you are not already recording, discard the press
  • If it is a request to stop recording and you are currently recording, stop the recording, grab the data, remove the recorder object, set your state to not-recording, and enable any actions that should not be possible to perform until you have recorded data, and return
When you activate the record() method, I recommend that you put in a maximum length, to prevent it from overflowing the memory.
  13 commentaires
Nikos Korobos
Nikos Korobos le 22 Mar 2022
Hello again, so I've done some testing with your suggestions and my code is currently like this.
Although it does run and the Record button wont give me any errors, it doesn't seem to record anything.
Any ideas?
Thanks in advance
Nikos Korobos
Nikos Korobos le 22 Mar 2022
I have also added a Properties section

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Environment and Settings dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by