Loading .m file that is a String argument
5 次查看(过去 30 天)
显示 更早的评论
I am trying to write a small program that repeats a sound N times. The sound files are already stored in their respective .m files. In my function, I have three input arguments:
in = String name of the .m file I want to play
N = number of repetitions
p = pause in seconds between each repetition
However, with my code, I am getting an error message that reads "Audio data must be real and floating point." I am confused, because I can play the sound file by writing commands in the command window just fine.
function out = repeatPause(in, N, p)
load(in);
for j = 1 : N;
sound(in);
pause(p);
end
And in the command prompt, to call this function I write:
repeatPause('sample.mat', 3, 5)
What could be the issue here? Is it because the String file name is not being passed through to the function when I call it?
1 个评论
回答(1 个)
KSSV
2017-4-26
You have to replace sound(in) in with the variable in the sample.mat file. You are loading the file and using sound on the filename instead of variable.
0 个评论
另请参阅
类别
在 Help Center 和 File 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!