Я пытаюсь создать программу MATLAB для воспроизведения звука снова и снова каждые пару минут. Прямо сейчас я настроил его на воспроизведение каждые пару секунд, просто чтобы избавиться от некоторых ошибок в системе. Однако, когда моя программа пытается воспроизвести звук, я получаю эту ошибку:
??? Error using ==>
audioplayer.audioplayer>audioplayer.resume at 710
A given audio device may only be opened once.
Error in ==> audioplayer.play at 88
obj.resume();
Error in ==>
audiorecorder.audiorecorder>audiorecorder.play at
779
play(player, varargin{:})
Error in ==> Voice at 17
play(voice);
Мой код до сих пор таков:
clc;
clear all;
clear main;
%File to play my voice to tell me to keep studying
voice = audiorecorder;
disp('Start speaking.');
recordblocking(voice, 3);
disp('DONE');
while i ~= 100;
pause(1);
play(voice);
i = 0;
end
В основном мой вопрос заключается в том, есть ли способ продолжать записывать один и тот же звуковой файл под другим именем, а затем непрерывно воспроизводить новый файл? Я подумал о том, чтобы создать матрицу, а затем просто использовать цикл for, чтобы обойти ее, а затем воспроизвести новый файл, но я не знаю, как сделать матрицу из звуковых файлов. Есть ли другая команда, которую я могу использовать вместо «играть», которая позволит мне продолжать играть?
РЕДАКТИРОВАТЬ: Провожу больше исследований по этому вопросу сейчас, так как я никогда не узнавал об этом в классе, но было бы лучше просто создать новый файл, содержащий мой звук, а затем повторно получить доступ к файлу?