Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让MatLab编写一个包含文件列表及其持续时间的txt?_Matlab_List_File_Wav_Duration - Fatal编程技术网

如何让MatLab编写一个包含文件列表及其持续时间的txt?

如何让MatLab编写一个包含文件列表及其持续时间的txt?,matlab,list,file,wav,duration,Matlab,List,File,Wav,Duration,我有一个包含几个wav文件的文件夹,我想让MatLab遍历所有这些文件,并将它们的持续时间写在一个txt文件中。有人知道怎么做吗? 我已经知道如何获取单个文件的持续时间: [w,fs] = wavread('filename.wav'); length = length(w)/fs; 但我不知道如何使循环读取文件夹中的所有文件 感谢您的帮助!谢谢 我还没有测试过这个,但类似的东西应该可以帮助您开始或大部分时间 fid = fopen('durations.txt'); % File to sa

我有一个包含几个wav文件的文件夹,我想让MatLab遍历所有这些文件,并将它们的持续时间写在一个txt文件中。有人知道怎么做吗? 我已经知道如何获取单个文件的持续时间:

[w,fs] = wavread('filename.wav');
length = length(w)/fs;
但我不知道如何使循环读取文件夹中的所有文件


感谢您的帮助!谢谢

我还没有测试过这个,但类似的东西应该可以帮助您开始或大部分时间

fid = fopen('durations.txt'); % File to save durations to
files = dir('*.wav'); % Creates a struct containing details of each file

for i = 1:length(files)
    [w,fs] = wavread(files(i).name); % files(i).name is the filename
    duration = length(w)/fs;
    fprintf(fid, 'File %s is %.4f seconds long\n', files(i).name, duration); % Writes one line to the file
end

我还没有测试过这个,但是像这样的东西应该可以帮助你开始或者大部分的工作

fid = fopen('durations.txt'); % File to save durations to
files = dir('*.wav'); % Creates a struct containing details of each file

for i = 1:length(files)
    [w,fs] = wavread(files(i).name); % files(i).name is the filename
    duration = length(w)/fs;
    fprintf(fid, 'File %s is %.4f seconds long\n', files(i).name, duration); % Writes one line to the file
end

您可能需要
files=dir('*.wav')
来获取所有文件名。不要使用与内置函数冲突的变量名,如
length
。创建这样一个变量后,您不能使用该函数。您可能需要
files=dir('*.wav')
来获取所有文件名。不要使用与内置函数冲突的变量名,如
length
。创建这样一个变量后,您无法使用该函数。这与我要编写的内容基本相同,但我被召集参加了一次会议,lol.+1。@rayryeng我想我很幸运您参加了那个会议;)如果你愿意,可以到我们的MATLAB和Octave聊天室转转:)我们很多人经常在那里聚会!差不多是我要写的东西,但我被召集参加了一个会议,哈哈。@rayreng我想我很幸运你参加了那个会议;)如果你愿意,可以到我们的MATLAB和Octave聊天室转转:)我们很多人经常在那里聚会!