matlab倒计时启动录音

 

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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值