By default is seems to queue. My TimerFcn updates the XData of a line in axes, and (when system busy) I see it move after the playback is complete. I would like to set the busy action to cancel/drop.
audioplayer TimerFcn behavior when busy
2 views (last 30 days)
Show older comments
Hello there. Does an audioplayer object have an option to cancel calls of TimerFcn when system busy ?
(Like "BusyAction" for graphic objects or "BusyMode" for timer objects)
5 Comments
Mario Malic
on 24 Feb 2023
Edited: Mario Malic
on 24 Feb 2023
One thing that may be possible, however I am not sure how it would affect the performance of the compiled app. When you use plot, you add line objects, instead you could alter the XData and the YData of the first plotted line object. Example is below
function PlotDataAvailable(src, event)
[data, timestamps, ~] = read(src, src.ScansAvailableFcnCount, "OutputFormat", "Matrix");
persistent init fig ax hPlot;
if isempty(init)
init = true;
fig = figure();
ax = axes(fig);
end
if isempty(hPlot)
hPlot = plot(ax, timestamps, data);
else
hold(ax, "on");
set(hPlot, "XData", [hPlot.XData, timestamps'], "YData", [hPlot.YData, data'])
end
end
Otherwise, you should find a way to debug the compiled application, and figure out why does it happen.
Accepted Answer
Guillaume
on 15 Mar 2023
3 Comments
Mario Malic
on 15 Mar 2023
Use diary to save the output of the command windows to a file. Output the needed data to the command window.
More Answers (0)
See Also
Categories
Find more on Environment and Settings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!