Error using a variable as input for audioread()

Hello.
I'm trying to load a .wav file, based on user input. For testing, I am using sample.wav. When I type audioread('sample.wav'), it works perfectly, but when I type:
fileName1 = inputdlg('Type the filename of the .wav file you would like to upload');
% A dialogue box pops up and I type sample.wav into it
audioread(fileName1);
This results in the following error:
Error using which
Argument must contain a string.
Error in audiovideo.internal.absolutePathForReading (line 7)
whichFileName = which(filename);
Error in audioread (line 74)
filename = audiovideo.internal.absolutePathForReading(...
What am I doing wrong?

댓글 수: 4

the problem is your file name is stored in cell type of data. you should change it to string before using audioread. you can try audioread(fileName1{1});
% %In addition, you can make the user select from existing files by ;
[file,path] = uigetfile({'*.wav';},'input file');
name=fullfile(path,file)
[Z, fs] =audioread(name)
Undefined variable "audiovideo" or class "audiovideo.internal.absolutePathForReading".
Error in audioread (line 74)
filename = audiovideo.internal.absolutePathForReading(...
I've an error. kindly guide me how can I solve it?
Saad - what is the line of code that you have written to load your audio file? Are you using audioread?

댓글을 달려면 로그인하십시오.

답변 (1개)

Harsha KVK
Harsha KVK 2022년 7월 28일

0 개 추천

As input() takes only integers. Convert the file name to string.
fileName = string(input('Type the filename of the .wav file you would like to upload')); audioread(fileName);

카테고리

질문:

2015년 3월 11일

답변:

2022년 7월 28일

Community Treasure Hunt

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

Start Hunting!

Translated by