0

複数のwavファイルを1つのフォルダに1つずつ読み込みたい。このように書いたのですが、「Invalid Wave File. Reason: Cannot open file.」と出てしまいます。エラー。しかし、tを数値に変更すると機能します。

for t=1:10
    myFile=['path\','t.wav'];
    [ speech, fs] = wavread( myFile);
end
4

2 に答える 2

0

変数を文字列に変換する必要がありtます。'path\t.wav'おそらく存在しないファイルを開くように求めていました。変数tは整数であるため、使用int2strして文字列に変換できます。

myFile = ['path\' int2str(t) '.wav'];

他の文字列と連結できるのは文字列のみです。もちろん、ファイルが 10 個未満の場合は、別の問題が発生します...

于 2013-06-03T22:46:40.273 に答える
0

特別な print f コマンドを使用できます: sprintf(); myFile にこの文字列を割り当てます。

myFile = sprintf('path\%d.wav',t);

sprintf は、C 環境と同様に MATLAB でも機能します。

于 2013-06-03T23:51:00.353 に答える