999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MATLAB·GUI的音頻文件播放器

2018-02-27 13:29:44王濤田述珍陳丁王志雄周慧
電腦知識與技術 2018年35期

王濤 田述珍 陳丁 王志雄 周慧

摘要:基于MATLAB GUI的音頻文件播放器的設計是隨著社會大數據化提出的,Matlab軟件是一種有效的分析工具,在數據分析時能使用一種快速、簡捷、高效的軟件進行數據處理工作。MATLAB如今已成為世界上最流行的科技應用軟件之一,可以把使用者從繁雜、無聊的編程中解救出來,以便能夠有更多的時間來學習其他專業領域。該項目利用Matlab強大的仿真功能和數據分析功能,通過Matlab·GUI界面進行音頻播放器的設計。利用GUI界面設計的播放器具有音頻播放、暫停、變速、多音頻播放等功能。

關鍵詞:M文件;MATLAB/GUI;人機交互;數據分析處理

中圖分類號:TP37? ? ? 文獻標識碼:A? ? ? 文章編號:1009-3044(2018)35-0207-02

Abstract: The design of the audio file player Based on MATLAB GUI is proposed with the big data of society. Matlab software is an effective analysis tool, and can use a fast, simple and efficient software for data processing when analyzing data. MATLAB has now become one of the most popular technology applications in the world, saving users from complicated and boring programming so that they can have more time to learn other professional fields. This project uses Matlab's powerful simulation function and data analysis function to design audio player through Matlab GUI interface. The player designed using the GUI interface has music playback, pause, fast forward, fast retreat, multiple audio playback and other functions.

Key words: M file; MATLAB/GUI; human-computer interaction; data analysis and processing

1 背景

MATLAB是一款商業數學軟件,主要用于算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境,包括GUI和Simulink兩大部分,具有完備的圖形處理和仿真功能。

2 基于M文件的音頻設計

2.1 MATLAB播放音頻的前提

首先是獲取一段音頻,由于MATLAB自身內存的局限性,獲取的音頻不能很大。那么如何來獲取一段音頻呢?我們通過錄音來獲取,然后將其進行保存。實現代碼如下:

開始錄音:

record(handles.recObj);

結束錄音:

stop(handles.recObj);

2.2 播放錄音

獲取錄音數據通過getaudiodata函數來實現雙通道的波形數據,通過audioplayer函數來實現播放功能。

代碼如下:

handles.myRecording = getaudiodata(handles.recObj);

handles.playObj=audioplayer(handles.myRecording,handles.playSpeed*handles.recObj.SampleRate);

play(handles.playObj);

guidata(hObject, handles);

2.3 保存錄音

通過uiputfile函數來保存文件,而真正保存波形文件的是audiowrite函數。

代碼如下:

[file,path] = uiputfile(['soundDemo_Speed' num2str(handles.playSpeed) '.wav'],'Save recorded sound');

if file

audiowrite([path'\'file],handles.myRecording,handles.playSpeed*handles.recObj.SampleRate)

end

2.4 波形顯示

通過RecDisplay函數來實現波形顯示功能,通過getaudiodata函數獲取當前錄音的波形數據,然后用plot函數在畫布里面繪制波形圖,最后通過drawnow函數加速圖形刷新,設置刷新頻率較快時可以運用此函數。

代碼如下:

function RecDisplay(hObject, eventdata,handles)

%handles

handles.myRecording = getaudiodata(handles.recObj);

axes(handles.axes1)

plot((1:length(handles.myRecording))/handles.recObj.SampleRate,handles.myRecording)

drawnow;

3 基于GUI的音頻設計

在MATLAB提供的GUI上利用MATLAB語言構建框架并編寫核心代碼是一種明智的選擇。不但減少了編寫代碼繁重的工程量,而且制作出的軟件具有界面良好和方便進行各種數據處理及圖像分析等特點。GUI程序是在圖形界面下創建于用戶交互的控件,使用戶可以通過操作這些交互控件實現特定的功能,并且可以返回顯示在程序界面相應的結果顯示區域中。該項目通過GUI進行音頻的設計來說明GUI的功能和使用。

3.1 總體界面的設計

根據界面的顯示,通過GUI各功能鍵設計了運行界面,其總體設計包括錄音模塊、播放模塊、關閉模塊、變速、多頻播放模塊。如圖1、2、3、4、5、6。

3.2 部分按鈕代碼實現

3.2.1 多頻功能實現

通過設置一個radiobutton 鍵來實現多頻的功能,當點擊該按鈕時,增加它的頻率分量,使其含有豐富的頻率分量。通過設置一個全局變量,當選中該控件時,全局變量的值改變,程序代碼如下:

Global r;

r=get(handles.duopin,value);? ? %多頻的按鈕是否選中

3.2.2 主界面退出窗口

通過設置一個pushbutton鍵來實現,在該鍵callback下,編寫回調函數。程序如下:

ss=questdlg('你真的要退出嗎?','退出信息窗口!','不,我還想看看!','是的,我要退出!','是的,我要退出!');

switch ss

case '是的,我要退出!'

delete(handles.figure1);

end

%當按下退出按鈕時,得到一個退出信息窗口提示

4 結束語

Matlab不但具有強大的圖形顯示功能,而且具有豐富的人機交互界面設計的功能,通過Matlab中的GUI,可以進行已有的M文件的仿真,又能通過人機交互的方式顯示仿真結果。在GUI設計時,可以將設計的GUI界面保存為fig文件,與此同時生成相應的M文件,便于用戶隨時進行編輯處理。利用Matlab/GUI進行界面設計可以為用戶提供友好、方便、形象的圖形顯示和數據分析處理,方便用戶使用。

參考文獻:

[1] 王肖霞,楊風暴,袁華. 利用MATLAB創建用戶界面[J]. 腦開發與應用, 2007(1).

[2] 鄭阿奇. Matlab實用教程[M]. 北京:北京電子工業出版社, 2012.

[3] 徐明遠,邵玉斌. Maatlab仿真在通信與電子工程中的應用[M]. 西安:西安電子科技大學出版社, 2009.

[4] 施曉紅,周佳. 精通GUI圖形界面編程[M]. 北京:北京大學出版社, 2003.

[5] 馮建元. 音頻播放器的架構分析與關鍵技術的實現[J].計算機與網絡, 2009(20).

[6] 段鳳云. 基于ARM的數字音頻播放器的設計[J].實驗室科學, 2010(6).

[7] 劉林濤,田慧珍. 基于Authorware的wave音頻播放器的設計[J].電腦知識與技術, 2006(29).

[8] 仲麟. MATLAB仿真技術與應用教程[M].北京: 國防工業出版社, 2004.

[9] 張亮, 王繼陽. MATLAB與C/C++混合編程[M].北京: 人民郵電出版社, 2008.

[10] Sanjit K Mitra.數字信號處理——基于計算機的方法[M]. 2版.孫洪, 余翔宇, 譯. 北京: 電子工業出版社, 2005.

[通聯編輯:謝媛媛]

主站蜘蛛池模板: 香蕉99国内自产自拍视频| 欧美成人第一页| 97se亚洲综合在线| 国产成人综合日韩精品无码首页| 亚洲AV无码乱码在线观看代蜜桃| 99久视频| 欧美色图第一页| 亚洲天堂精品在线| 69国产精品视频免费| 国产亚洲欧美日本一二三本道| 欧美中文一区| 亚洲日本中文字幕天堂网| 特级毛片免费视频| 国产一区二区三区在线观看视频 | 国产色婷婷| 伊人久久久大香线蕉综合直播| 中文字幕亚洲乱码熟女1区2区| 免费国产高清精品一区在线| 国产精品美女网站| 一级毛片网| h视频在线观看网站| 99精品久久精品| 四虎永久在线精品国产免费 | 国产av无码日韩av无码网站| 无码'专区第一页| 亚洲二区视频| 国产微拍一区| 久久综合色视频| 狠狠五月天中文字幕| 日韩在线永久免费播放| 欧美a在线| 第一区免费在线观看| 波多野结衣中文字幕一区二区| 五月天在线网站| 日韩毛片视频| 国产第一页亚洲| 久久无码av三级| 国产在线观看第二页| 精品91视频| 成人午夜视频免费看欧美| 99久久精品美女高潮喷水| 五月婷婷亚洲综合| 综合色88| 国产精品视频久| 国产幂在线无码精品| 国产成人AV男人的天堂| 欧美自慰一级看片免费| 91青青草视频| 九色视频在线免费观看| 国产美女自慰在线观看| 国产麻豆永久视频| www成人国产在线观看网站| 婷婷激情亚洲| 成年人国产视频| 国产毛片基地| 不卡视频国产| 欧美一区精品| 人妻丰满熟妇αv无码| 日韩人妻精品一区| 五月天丁香婷婷综合久久| 免费毛片a| 久久精品国产91久久综合麻豆自制| 久久综合色天堂av| 国产传媒一区二区三区四区五区| 日韩亚洲综合在线| 久久国产热| 另类专区亚洲| 美臀人妻中出中文字幕在线| 人人看人人鲁狠狠高清| 亚洲欧美不卡| 午夜激情福利视频| 97成人在线观看| 欧美影院久久| 国产一区二区三区在线观看视频| 人妻无码AⅤ中文字| 国产成人区在线观看视频| 久久国产精品电影| 九九热精品在线视频| 永久免费无码日韩视频| 91欧美亚洲国产五月天| 国产真实二区一区在线亚洲| 婷婷色在线视频|