how to remove this error

3 次查看(过去 30 天)
Dilawar Khan
Dilawar Khan 2017-5-7
??? Error using ==> fileparts at 17
Input must be a row vector of characters.
Error in ==> wavread>open_wav at 193
[pat,nam,ext] = fileparts(file);
Error in ==> wavread at 65
[fid,msg] = open_wav(file);
Error in ==> comparing at 10
z=wavread(record);
Error in ==> voice at 10
comparing(sample_freq);
my program is this
function[z]=comparing(sample_freq)
record_len = 2; %Record time length in seconds
open_lock='test';
sample_time = sample_freq * record_len;
disp('kindly speak to open the lock');
f = sprintf('%s.wav',open_lock);
input('Press enter when ready to record--> ');
record = wavrecord(sample_time, sample_freq); %Records the input through the sound card to the variable with specified sampling frequency
wavwrite(record, sample_freq, f);
z=wavread(record);
x=z;
can some one help me ,thanks alot
  1 个评论
Guillaume
Guillaume 2017-5-7
What version of matlab are you using? The last version of matlab that had wavrecord was R2013b. Time to upgrade?

请先登录,再进行评论。

回答(2 个)

Walter Roberson
Walter Roberson 2017-5-7
z = wavread(f);

Guillaume
Guillaume 2017-5-7
I suspect you want
z = wavread(f);
%and what's the point of x=z on the next line. Read the file as x directly if you must
%better use variable names that have meaning
The output of wavrecord is not a file name, so I don't understand why you tried to pass to wavread.
Note that wavrecord has not been part of matlab since R2014a.

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by