您的位置:首页 > 编程语言 > MATLAB

matlab倒计时启动录音

2017-04-14 09:00 141 查看
 

本来毕设要用,后来没有用了

function [y,fs2,noisy] = lrcrecorderV2(secs,fs,nbits,channel)
%lrcrecorder 根据采样频率fs和通道数channel录音 lrcrecorderV2(secs,fs,nbits,channel)
%designed by Xu__Jiayu 20170401
%%
%默认参数设置
fs2=44100;
ch=1;
nb=8;
t_s=1;
y=[];
%%
%输入参数设置
if(nargin>0&&~isempty(secs)&&isnumeric(secs)&&secs(1,1)>0)
t_s=secs(1,1);
if t_s>300
t_s=300;%我这里限制最多录制5分钟
end
end
if(nargin>1&&~isempty(fs)&&ismember(fs,[8000,11025,16000,22050,44100,48000,96000]))
fs2=fs;
end
if(nargin>2&&~isempty(nbits)&&ismember(nbits,[8,16,24]))
nb=nbits;
end
if(nargin>3&&~isempty(channel)&&ismember(channel,[1,2]))
ch=channel;
end
%%
%程序主要处理阶段
rhandle=audiorecorder(fs2,nb,ch);%对象创建
%record(rhandle);%开始录音
%pause(rhandle);%暂停
%isrecording(rhandle);%判断有没有在录音并行才有用啊这个
%%
disp('录制准备中');
recordblocking(rhandle,3);%录制噪声
noisy=getaudiodata(rhandle);%获得录制的波形数据
noisy=noisy(:,1);%取单声道
stop(rhandle);%stop如果重新录制会清空
%seg=snrseg(y,zeros(length(y),1),fs2,'wz');
%option.asnr=seg;
%option.ne=0;
%%
%input('要开始录制了,按一下转折键');
%%
%倒计时
[u8,rbg256]=imread('lrcico\icot1.png');
h=msgbox('3秒后开始录制','录制提醒','custom',u8,rbg256);
%h:figure)-c1:axes(image))-c2:axes(text))-c3:uicontrol
%%
c3=findall(get(h,'children'),'type','uicontrol');
%set(c3,'BackgroundColor',[0.4,0.4,0.4]);%确定按钮
set(c3,'Visible','off');
%%
objcell=get(get(h,'children'),'children');
%objcell{1}-image;objcell{2}-text;objcell{1}-[]
set(objcell{2},'Color',[0.3 ,0.7,1]);
set(objcell{2},'Position',[100 30 10]);
set(objcell{2},'FontSize',25);
for i=1:3
disp(num2str(4-i));
if ishandle(h)
set(objcell{2},'String',num2str(4-i));
end
pause(1);
end
disp('开始');
if ishandle(h)
set(objcell{2},'String','开始!');
pause(1);
end

%%
%record(rhandle);%
%resume(rhandle);%继续录
%stop(rhandle);%停止录制
recordblocking(rhandle,t_s);%根据设置录制时间-录制
y=getaudiodata(rhandle);%获得录制的波形数据
%%
%同时进行
%%
y=y(:,1);%取单声道
%y=ssubmmse(y,fs2,option);
if(isempty(y(y>0)))
disp('麦克风没有设置为默认设备或其他问题');
y=[];
end
if  ishandle(h)
set(objcell{2},'String','处理中..');
pause(1);
close(h);
end
%play(rhandle);%试听
end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  matlab 录音