我想在一个文件夹中逐个读取多个wav文件。我这样编写,但它给出了“无效的Wave文件。原因:无法打开文件。”错误。但是,当我将数字改为数字时,它就可以了。
for t=1:10
myFile=['path\','t.wav'];
[ speech, fs] = wavread( myFile);
end
答案 0 :(得分:0)
您需要将变量t
转换为字符串。您要求打开文件'path\t.wav'
,这可能不存在。由于变量t
是一个整数,您可以使用int2str
将其转换为字符串:
myFile = ['path\' int2str(t) '.wav'];
只有字符串可以与其他字符串连接。当然,如果您的文件少于10个,那么您将遇到另一个问题......
答案 1 :(得分:0)
你可以使用特殊的print f命令:sprintf();分配myFile这个字符串。
myFile = sprintf('path\%d.wav',t);
sprintf在MATLAB中工作,就像在C环境中一样。