今天在matlab用audioread这个函数时报错,只提示不支持该文件类型,但是我用的mp3文件明明可以。
下面是我用来示例的一段代码,插入代码块里面没有找到matlab,用的python,我选择的是一段手机录音,mp3格式:
[name,path] = uigetfile;
file = strcat(path,name);
[y,Fs] = audioread(file);
sound(y,Fs);
这是运行后的结果,工作区的文件地址也是合理的 :
错误使用 audioread>readaudio
不支持该文件类型
出错 audioread (第 137 行)
[y, Fs] = readaudio (filename, range, datatype);
下图是我在audioread代码里找到的报错的位置
原本软件一切正常,舍友的代码出现了这样的问题,到我的电脑里面试一试,结果我的matlab也出现了一样的问题。我重新安装matlab也解决不了。
它报错是不支持该文件类型,我换了不同音频格式的文件也一样报错。我怀疑是matlab的某个设置被改了,实在没办法,十分钟前还是好好的,瞬间用不了audioread函数。我感觉是舍友的代码运行后修改了我的设置,但是我们后续有修改代码,已经无法找到原代码了。只能希望有遇到过这样问题的朋友能告诉我怎么解决,真的十分感谢。
这样就可以了:
[file,path] = uigetfile({'.mp3';'.wav';'.flac'});
if isequal(file,0)
disp('User selected Cancel');
else
disp(['User selected ', fullfile(path,file)]);
end
[y,Fs] = audioread(file);
sound(y,Fs);
disp('当前正在播放')
disp('done')
打上断点可以看App Designer里此时的工作区变量:
可以发现此时是读取成功的。
,直接audioread(name)就可以读取到指定路径的文件了,注意选择文件格式:
如帮助您解决问题,请记得采纳,谢谢合作!
我现在用的是2022a版的matlab,我试试安装其他版本的能不能解决,因为重新安装一遍2022a不能解决问题
首先,把你的音频文件名称修改为英文的看下是否可行,其次将mp3格式的数据转换为wav格式的看下。