
- •1 Технология воспроизведения звуковых файлов
- •1.1 Способы кодирования и воспроизведения звука, формат звукового файла wav.
- •1.2 Реализация возможностей воспроизведения звука в среде программирования matlab
- •2 Разработка алгоритма информационных технологий
- •2.1 Составление функциональной схемы программы
- •2.2 Разработка интерфейса
- •2.3 Апробация работы программы
- •Приложение а
- •Приложение в
Приложение а
function varargout = plFinalAprel_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function opensounds_Callback(hObject, eventdata, handles)
% Получение имени и пути к файлу
[FileName,PathName,FilterIndex] = uigetfile({'*.wav;','media files (*.wav)';'*.*', 'All Files (*.*)'},'Open File','') ;
% Проверка, был ли выбран файл
if FileName~=0;
% Формирование полного пути к файлу
FullName = [PathName FileName];
% Считывание файла
[x,f,b]=wavread(FullName);
siz = wavread(FullName,'size');
y = audioplayer(x,f,b);
play(y);
set(handles.waytext, 'String', FullName)
set(handles.waytext,'ForegroundColor','k')
set(handles.waytext,'FontSize',9)
set(handles.statustext,'String','playback')
% задание красного цвета текста
set(handles.statustext,'ForegroundColor','k')
% задание размера шрифта 10пт
set(handles.statustext,'FontSize',13)
% % % СВОЙСТВО ФАЙЛА
timesec=round(siz(1)/f);
timemin=0;
while timesec>=60
timesec=timesec-60;
timemin=timemin+1;
end
sizall=siz(1)*siz(2)*b/8192;
str1=['play time ',int2str(timemin),' : ',int2str(timesec),' minute' ]
set(handles.text11,'String',str1)
set(handles.text11,'ForegroundColor','k')
set(handles.text11,'FontSize',9)
str2=['size ',int2str(sizall),' kb' ]
set(handles.text12,'String',str2)
set(handles.text12,'ForegroundColor','k')
set(handles.text12,'FontSize',9)
if siz(2)==1; str3='mono'; else str3='stereo'; end;
set(handles.text13,'String',str3)
set(handles.text13,'ForegroundColor','k')
set(handles.text13,'FontSize',9)
str4=[int2str(round(b*f/1024)),' бит/с' ]
set(handles.text14,'String',str4)
set(handles.text14,'ForegroundColor','k')
set(handles.text14,'FontSize',9)
plot(x,'-b')
handles.y = y;
handles.b= b;
handles.f = f;
handles.x = x;
guidata(hObject, handles);
end
Приложение в
Листинг программы
function varargout = plFinalAprel(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @plFinalAprel_OpeningFcn, ...
'gui_OutputFcn', @plFinalAprel_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function plFinalAprel_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
set(handles.waytext,'String',' To start playing, select *.wav fail.')
set(handles.waytext,'ForegroundColor','k')
set(handles.waytext,'FontSize',10)
guidata(hObject, handles);
guidata(hObject, handles);
function varargout = plFinalAprel_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function opensounds_Callback(hObject, eventdata, handles)
[FileName,PathName,FilterIndex] = uigetfile({'*.wav;','media files (*.wav)';'*.*', 'All Files (*.*)'},'Open File','') ;
% Проверка, был ли выбран файл
if FileName~=0;
% Формирование полного пути к файлу
FullName = [PathName FileName];
% Считывание файла
[x,f,b]=wavread(FullName);
siz = wavread(FullName,'size');
y = audioplayer(x,f,b);
play(y);
set(handles.waytext, 'String', FullName)
set(handles.waytext,'ForegroundColor','k')
set(handles.waytext,'FontSize',9)
set(handles.statustext,'String','playback')
% задание красного цвета текста
set(handles.statustext,'ForegroundColor','k')
% задание размера шрифта 10пт
set(handles.statustext,'FontSize',13)
% % % СВОЙСТВО ФАЙЛА
timesec=round(siz(1)/f);
timemin=0;
while timesec>=60
timesec=timesec-60;
timemin=timemin+1;
end
sizall=siz(1)*siz(2)*b/8192;
str1=['time ',int2str(timemin),' : ',int2str(timesec),' minute' ]
set(handles.text11,'String',str1)
set(handles.text11,'ForegroundColor','k')
set(handles.text11,'FontSize',9)
str2=['size ',int2str(sizall),' kb' ]
set(handles.text12,'String',str2)
set(handles.text12,'ForegroundColor','k')
set(handles.text12,'FontSize',9)
if siz(2)==1; str3='mono'; else str3='stereo'; end;
set(handles.text13,'String',str3)
set(handles.text13,'ForegroundColor','k')
set(handles.text13,'FontSize',9)
str4=[int2str(round(b*f/1024)),' бит/с' ]
set(handles.text14,'String',str4)
set(handles.text14,'ForegroundColor','k')
set(handles.text14,'FontSize',9)
plot(x,'-b')
handles.y = y;
handles.b= b;
handles.f = f;
handles.x = x;
guidata(hObject, handles);
end
function playsounds_Callback(hObject, eventdata, handles)
y=handles.y;
resume(y);
set(handles.statustext,'String','playback')
set(handles.statustext,'ForegroundColor','k')
set(handles.statustext,'FontSize',13)
function pausesounds_Callback(hObject, eventdata, handles)
y=handles.y;
pause(y)
set(handles.statustext,'String','pause')
set(handles.statustext,'ForegroundColor','k')
set(handles.statustext,'FontSize',13)
function stopsounds_Callback(hObject, eventdata, handles)
y=handles.y;
stop(y)
% размещение текста
set(handles.statustext,'String','stop')
% задание красного цвета текста
set(handles.statustext,'ForegroundColor','k')
% задание размера шрифта 10пт
set(handles.statustext,'FontSize',13)
function File1_Callback(hObject, eventdata, handles)
function Player1_Callback(hObject, eventdata, handles)
function About1_Callback(hObject, eventdata, handles)
function play1_Callback(hObject, eventdata, handles)
y=handles.y;
resume(y);
set(handles.statustext,'String','playback')
set(handles.statustext,'ForegroundColor','k')
set(handles.statustext,'FontSize',13)
function stop1_Callback(hObject, eventdata, handles)
y=handles.y;
stop(y)
set(handles.statustext,'String','stop')
set(handles.statustext,'ForegroundColor','k')
set(handles.statustext,'FontSize',13)
function Open1_Callback(hObject, eventdata, handles)
[FileName,PathName,FilterIndex] = uigetfile({'*.wav;','media files (*.wav)';'*.*', 'All Files (*.*)'},'Open File','') ;
if FileName~=0;
FullName = [PathName FileName];
[x,f,b]=wavread(FullName);
siz = wavread(FullName,'size');
y = audioplayer(x,f,b);
play(y);
set(handles.waytext, 'String', FullName)
set(handles.waytext,'ForegroundColor','k')
set(handles.waytext,'FontSize',9)
set(handles.statustext,'String','playback')
set(handles.statustext,'ForegroundColor','k')
set(handles.statustext,'FontSize',13)
timesec=round(siz(1)/f);
timemin=0;
while timesec>=60
timesec=timesec-60;
timemin=timemin+1;
end
sizall=siz(1)*siz(2)*b/8192;
str1=['play time ',int2str(timemin),' : ',int2str(timesec) ]
set(handles.text11,'String',str1)
set(handles.text11,'ForegroundColor','k')
set(handles.text11,'FontSize',9)
str2=['size',int2str(sizall),' kb' ]
set(handles.text12,'String',str2)
set(handles.text12,'ForegroundColor','k')
set(handles.text12,'FontSize',9)
if siz(2)==1; str3='mono'; else str3='stereo'; end;
set(handles.text13,'String',str3)
% задание красного цвета текста
set(handles.text13,'ForegroundColor','k')
% задание размера шрифта 10пт
set(handles.text13,'FontSize',9)
str4=[int2str(round(b*f/1024)),' бит/с' ]
set(handles.text14,'String',str4)
set(handles.text14,'ForegroundColor','k')
set(handles.text14,'FontSize',9)
plot(x,'-b')
handles.y = y;
handles.b= b;
handles.f = f;
handles.x = x;
guidata(hObject, handles);
end
function Exit1_Callbac,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,k(hObject, eventdata, handles)
delete(handles.plotsounds)
function pause2_Callback(hObject, eventdata, handles)
y=handles.y;
if isplaying(y)==0
resume(y);p='playback'
else
pause(y);p='pause';end
set(handles.statustext,'String',p)
set(handles.statustext,'ForegroundColor','k')
set(handles.statustext,'FontSize',13);
function exet2_Callback(hObject, eventdata, handles)
delete(handles.plotsounds)
function Untitled_1_Callback(hObject, eventdata, handles)
h = msgbox({' Wav Player for MatLab';'';'developed by: Fonov Aleksey';' Wakeup77794@gmail.com';'';' NRU “BelSU” March-May 2013'}, 'About')
set(h, 'WindowStyle', 'modal')
function More_Callback(hObject, eventdata, handles)
b=handles.b;
f=handles.f;
str1=['returns the sample rate ',int2str(f),' Hz' ]
str2=['returns the number of bits ',int2str(b),' bit' ]
h = msgbox({str1;str2}, 'More sound info')
set(h, 'WindowStyle', 'modal')
function pushbutton10_Callback(hObject, eventdata, handles)
x=handles.x;
figure(1), plot(x,'-b')
title('diagram of sound ')
xlabel('counts')
ylabel('amplitude ')
function pause111_Callback(hObject, eventdata, handles)
y=handles.y;
pause(y)
set(handles.statustext,'String','pause')
set(handles.statustext,'ForegroundColor','k')
set(handles.statustext,'FontSize',13)