convert file from .wav to .mp3
10 次查看(过去 30 天)
显示 更早的评论
I am using following code to extract just the audio in .wav format from a video in .avi format
file='take.avi';
file1='vipmen1.wav'; %o/p file name
hmfr=video.MultimediaFileReader(file,'AudioOutputPort',true,'VideoOutputPort',false);
hmfw = video.MultimediaFileWriter(file1,'AudioInputPort',true,'FileFormat','WAV');
while ~isDone(hmfr)
audioFrame = step(hmfr);
step(hmfw,audioFrame);
end
close(hmfw);
close(hmfr);
Then i am using the following code in gui for conversion :
global pl;
global sf;
[FileName,PathName]=uigetfile('*.wav')
myFile=[PathName,FileName]
[mySong,sf]=wavread(myFile);
mp3write(mySong,sf,FileName)
it gives no error whatsoever but the mp3 file is not to be found.
Its not there in the working directory and the inital .wav file still is in same format.
回答(1 个)
Jan
2013-3-25
编辑:Jan
2013-3-26
[FileName,PathName]=uigetfile('*.wav')
myFile=[PathName,FileName]
[mySong,sf]=wavread(myFile);
mp3write(mySong,sf,FileName)
Is this mp3write from the FileExchange? Please do not let us guess such important details. This function creates the file "Default_name.mp3" as default, when it is called with 3 inputs only.
What is the current directory during writing the file? Using absolute file names would be safer:
[dummy, Name] = fileparts(FileName);
mp3write(mySong, sf, FileName, fullfile(PathName, [Name, '.mp3']);
A general method to solve such problems is the debugger: Set a breakpoint in the line, which calls mp3write, then step into this function and see, what's going on.
4 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Environment and Settings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!