MATLAB Answers

AudioPlayer object: Algorithm for an audio player progress bar.

11 views (last 30 days)
I am currently trying to implement an audio playing feature to an app that my group is working on.
As Can be seen in the image the app displays a spectrogram of 4 different recodings. I am trying to add a feature in which the user could hear each of these recordings.
I already can play the recordings. My main problem is an algorithm for a progress bar (I am not sure if this is what its called). The image below shows an example of what I am talking about.
Can anyone please guide me through how to develop this bar and show me a simple code? Or refer me to an example?
Thank You
  2 Comments
Walter Roberson
Walter Roberson on 10 Apr 2020
That example looks to me as if the circled bar is an xor() of a constant color against the color of the spectra line. Unfortunately though, xor graphics drawing was removed about 5 years ago.
It would probably be easiest to draw a vertical line in a solid color, and then at each iteration, changes the lines XData properties, and then drawnow()

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 10 Apr 2020
Edited: Walter Roberson on 10 Apr 2020
You can set a TimerFcn property for audioplayer objects, and control how often it fires with TimerPeriod.
When the timer fires, the second parameter in its callback with be a struct . That struct will have a field named Data which has a subfield named time which is what time the event occurred at. You can read that time out from the event structure and use it to set the XData of the line.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!