[發明專利]一種基于安卓系統實現信號發生器的方法有效
| 申請號: | 201410083204.6 | 申請日: | 2014-03-08 |
| 公開(公告)號: | CN103902285B | 公開(公告)日: | 2017-02-22 |
| 發明(設計)人: | 王燕;付進;林力新;梁國龍 | 申請(專利權)人: | 哈爾濱工程大學 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 150001 黑龍江省哈爾濱市南崗區*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 系統 實現 信號發生器 方法 | ||
1.一種基于安卓系統實現信號發生器的方法,其特征在于:
步驟1、建立布局文件main.xml,設置為線性布局,添加TextView對象,再添加兩個列表布局,第一個每行兩列;添加四個EditText對象,分別用于輸入校準值、峰峰值、頻率和單位,這里單位既是校準值及峰峰值的單位,四個EditText對象組成兩行兩列的列表布局排列。第二個列表布局每行四列,添加八個Button對象,分別是正弦波、方形波、三角波、高斯波、輸出、停止、退出和幫助按鈕,高斯波表示高斯噪聲,八個Button對象組成兩行四列的列表布局;
步驟2、建立類Osc類繼承activity類,創建主線程,設置主線程的布局文件為main.xml;設置變量獲得EditText對象和Button對象;設置媒體的輸出音量最大;
步驟3、建立一個大byte類型的88244個元素的數組變量,用于存儲波形數據,其量化位數為16BIT,采樣頻率為44100Hz;在主線程初始化時生成1kHz的峰峰值最大的正弦波,并為該文件添加WAVE音頻格式文件的文件頭暫時放于數組中,建立File類型的變量,以字節流的方式將數組數據保存在SD卡的根目錄下,文件名為wave1.wav,若文件存在則覆蓋該文件;
步驟4、為獲得的Button按鈕設置監聽器,單擊正弦波、方形波、三角波和高斯噪聲按鈕時,系統進入設置輸出波形狀態,如果系統在播放音頻文件,即系統處于輸出狀態則停止播放,并讓系統進入設置輸出波形狀態,同時獲取信號的EditText對象中的校準值、峰峰值、頻率和單位,設置波形參數,分別生成相應的波形數據,默認波形偏移量為零;若單擊高斯噪聲則生成的波形數據為峰峰值平方除以二為方差的高斯分布數據,若單擊方波則生成占空比為50%方波,若單擊三角波則生成等腰三角波;
步驟5、波形數據設置完成后為該波形數據添加WAVE音頻格式文件的文件頭,暫時放于數組中,建立File類型的變量,以字節流的方式將數組數據保存在SD卡的根目錄下,文件名為wave.wav,若文件存在則覆蓋該文件;
步驟6、主線程初始化時用MediaPlayer()方法添加MediaPlayer變量,設置播放文件源為SD卡中保存的文件wave.wav,播放方式為循環播放;
步驟7、單擊校準按鈕時,MediaPlayer()方法添加MediaPlayer變量,設置播放文件源為SD卡中保存的文件wave1.wav,播放方式為循環播放,依次使用prepare()方法和start()方法開始播放文件,即系統進入輸出狀態;交流電壓表測量輸出信號的峰峰值,讀取該峰峰值并輸入到界面的峰峰值EditText對象中,實現校準功能;
步驟8、單擊按鈕輸出時初始化MediaPlayer,依次使用prepare()方法和start()方法開始播放文件,即系統進入輸出狀態,同時在TextView上顯示信號的信息,單擊按鈕停止時使用stop()方法停止播放文件,系統退出輸出狀態進入停止狀態;
步驟9、單擊退出按鈕時,先判斷MediaPlayer是否在播放,如果在播放則使用stop()方法停止播放該文件,使用release()方法釋放MediaPlayer,使用finish結束進程,完成軟件退出;單擊幫助按鈕時在TextView上顯示幫助信息,單擊幫助按鈕僅改變系統視圖,不改變系統狀態。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱工程大學,未經哈爾濱工程大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410083204.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種高空作業安全操作平臺
- 下一篇:一種實現應用的語言版本切換的方法和系統





