matlab倒计时启动录音

来源:互联网 发布:网络用户行为研究 编辑:程序博客网 时间:2024/05/18 12:36

 

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

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分钟endendif(nargin>1&&~isempty(fs)&&ismember(fs,[8000,11025,16000,22050,44100,48000,96000]))fs2=fs;endif(nargin>2&&~isempty(nbits)&&ismember(nbits,[8,16,24]))nb=nbits;endif(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=[];endif  ishandle(h)    set(objcell{2},'String','处理中..');    pause(1);    close(h);end%play(rhandle);%试听end

0 0
原创粉丝点击