亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Android平臺(tái)下具有書(shū)簽功能的時(shí)間戳錄音系統(tǒng)

        2018-08-22 01:23:32蔣瑩
        現(xiàn)代計(jì)算機(jī) 2018年22期
        關(guān)鍵詞:按鈕界面系統(tǒng)

        蔣瑩

        (中山大學(xué)新華學(xué)院,東莞 523133)

        0 引言

        移動(dòng)互聯(lián)網(wǎng)快速發(fā)展的今天,移動(dòng)設(shè)備已成為人們生活中必不可少的生活用品之一。移動(dòng)互聯(lián)徹底改變了我們的生活方式,越來(lái)越多的溝通和交流都可以通過(guò)移動(dòng)平臺(tái)及時(shí)得到實(shí)現(xiàn),很多以前需要電腦或?qū)iT(mén)設(shè)備才能實(shí)現(xiàn)的操作都可以通過(guò)移動(dòng)平臺(tái)方便地進(jìn)行,手機(jī)語(yǔ)音識(shí)別技術(shù)也受到越來(lái)越多的關(guān)注[1]。錄音,作為移動(dòng)系統(tǒng)中一項(xiàng)重要的功能,Android平臺(tái)也好iOS平臺(tái)也好,都有自帶的錄音程序,這些錄音程序都能滿足最基本的錄音操作。但是當(dāng)進(jìn)行較長(zhǎng)時(shí)間的音頻錄制且音頻是分段錄制的時(shí)候,這些系統(tǒng)自帶的錄音軟件,往往無(wú)法滿足要求。例如:如果想在錄音過(guò)程中任意時(shí)刻添加書(shū)簽或筆記,這樣在進(jìn)行錄音回放和整理的時(shí)候就會(huì)明確知道從哪里開(kāi)始回放,不至于頻繁倒退而浪費(fèi)時(shí)間。這樣的功能,目前系統(tǒng)自帶的錄音軟件是無(wú)法滿足的。

        本文基于以上分析,考慮Android平臺(tái)的開(kāi)放性和易用性[2],在原有錄音技術(shù)的基礎(chǔ)上,增加書(shū)簽功能,系統(tǒng)在每次暫停錄制時(shí),可以增加錄音標(biāo)簽信息的界面寫(xiě)下文字說(shuō)明,方便用戶了解當(dāng)前子音頻的主要內(nèi)容。在全部子音頻信息錄制完畢后,可以將所有子音頻合并成一個(gè)完整的音頻。

        1 系統(tǒng)分析與設(shè)計(jì)

        1.1 需求分析

        系統(tǒng)共包括5大模塊:開(kāi)始錄音、暫停錄音、繼續(xù)錄音、全部播放以及停止錄音模塊,這5大模塊簡(jiǎn)單說(shuō)明如下:

        (1)開(kāi)始錄音:在進(jìn)入系統(tǒng)后點(diǎn)擊“開(kāi)始錄音”按鈕,開(kāi)始第一段音頻的錄制;(2)暫停錄音:在系統(tǒng)錄音過(guò)程中,隨時(shí)可按下“暫停錄音”按鈕。點(diǎn)擊“暫停錄音”按鈕,彈出需要添加書(shū)簽的界面,添加完書(shū)簽信息后點(diǎn)擊確定,可回到錄音界面,且剛剛錄制的音頻已添加到錄音界面的錄音列表中;(3)繼續(xù)錄音:在暫停錄音添加完書(shū)簽信息后,點(diǎn)擊“繼續(xù)錄音”可以接著錄制音頻;(4)全部播放:在錄音界面下,點(diǎn)擊“全部播放”按鈕,可以播放從最開(kāi)始錄制的每一段音頻信息;(5)停止錄音:該按鈕按下之后,會(huì)將每一段錄制的音頻文件整合成一整段完整的音頻保存起來(lái)。

        在每段音頻列表中,都有播放和刪除按鈕,點(diǎn)擊播放則可以播放當(dāng)段音頻,點(diǎn)擊刪除,則可以將其刪除。以上模塊的功能流程如圖1所示。

        圖1 系統(tǒng)功能流程圖

        1.2 界面設(shè)計(jì)

        根據(jù)需求分析,得出系統(tǒng)界面原型設(shè)計(jì)圖。系統(tǒng)界面原型設(shè)計(jì)圖如圖2所示。進(jìn)入系統(tǒng)后,最上面是系統(tǒng)狀態(tài)提示區(qū),主要用于指示當(dāng)前系統(tǒng)所處狀態(tài);接著是主要按鈕區(qū),包含“開(kāi)始錄音”、“暫停播放”、“繼續(xù)播放”、“全部播放”以及“停止錄音”按鈕。將這5個(gè)主要按鈕放置在一個(gè)LinearLayout布局下。初始狀態(tài)下只有“開(kāi)始錄音”按鈕可以用,隨著系統(tǒng)狀態(tài)不同,各個(gè)按鈕的可用狀態(tài)也不同。按鈕的可用狀態(tài)為黑色,不可用狀態(tài)為灰色;最下面是子音頻區(qū),每暫停錄音一次,生成一個(gè)子音頻文件。子音頻文件暫時(shí)保存在ListView中,每個(gè)子音頻都能進(jìn)行獨(dú)立播放和刪除操作。點(diǎn)擊停止錄音則會(huì)將ListView中的所有子音頻文件整合為一個(gè)音頻文件。

        圖2 系統(tǒng)界面原型

        1.3 關(guān)鍵抽象

        系統(tǒng)初始化界面后,對(duì)界面中各個(gè)按鈕進(jìn)行監(jiān)聽(tīng)。采用MediaRecorder錄音類(lèi)進(jìn)行音頻錄制,采用MediaPlayer播放類(lèi)播放錄音。將每次暫停錄音得到的子錄音音頻文件暫時(shí)保存在SD卡根目錄下。系統(tǒng)主要設(shè)置了4個(gè)類(lèi),分別為MainActivity類(lèi)、MyDetailsDialog類(lèi)、MyAdapter類(lèi)和MergeAMR類(lèi)。MainActivity類(lèi)主要是對(duì)系統(tǒng)主界面的控制,程序從這個(gè)類(lèi)開(kāi)始;MyAdapter類(lèi)是用于處理ListView的適配器;MyDetailsDialog類(lèi)則用于暫停錄音時(shí)的添加標(biāo)簽功能;MergeAMR類(lèi)主要處理ListView中子音頻文件,將其合成為一個(gè)音頻文件。系統(tǒng)的關(guān)鍵抽象如圖3所示。

        圖3 關(guān)鍵抽象

        2 系統(tǒng)實(shí)現(xiàn)

        2.1 開(kāi)發(fā)調(diào)試環(huán)境

        本錄音系統(tǒng)采用release版本的Android開(kāi)發(fā)環(huán)境“adt-bundle-windows-x86_64-20140702”,以及 Redmi4真機(jī)進(jìn)行調(diào)試,MIUI版本為9.2。

        2.2 系統(tǒng)調(diào)試界面

        系統(tǒng)調(diào)試界面如下圖所示,圖4是初始時(shí)進(jìn)入系統(tǒng)的界面,此時(shí)只有“開(kāi)始錄音”按鈕可以用。當(dāng)點(diǎn)擊“開(kāi)始錄音”按鈕后,系統(tǒng)進(jìn)入錄音狀態(tài),錄音狀態(tài)界面如圖5所示。點(diǎn)擊“暫停錄音”按鈕則彈出輸入標(biāo)簽信息的界面,添加標(biāo)簽界面如圖6所示。圖7展示已經(jīng)添加了兩個(gè)子音頻的錄音列表。

        2.3 關(guān)鍵代碼實(shí)現(xiàn)

        系統(tǒng)實(shí)現(xiàn)過(guò)程中,主要有2個(gè)關(guān)鍵難點(diǎn),分別是ListView列表的監(jiān)控和子音頻文件的合成?,F(xiàn)分別就這2個(gè)方面的具體實(shí)現(xiàn)進(jìn)行闡述。

        (1)ListView列表的按鈕監(jiān)控

        在類(lèi)MyAdapter中定一個(gè)CallBack接口,該接口用于回調(diào)按鈕點(diǎn)擊事件到MainActivity類(lèi),MainActivity類(lèi)中實(shí)現(xiàn)CallBack接口的click()方法,當(dāng)ListView中有按鈕按下時(shí),系統(tǒng)調(diào)用click()方法,實(shí)現(xiàn)子音頻播放和刪除。

        定義的接口CallBack的代碼實(shí)現(xiàn)如下,接口中只有一個(gè)click方法:

        設(shè)置監(jiān)聽(tīng)代碼如下,其中holder為每個(gè)ListView子Item對(duì)應(yīng)的子類(lèi),該類(lèi)在MyAdapter中定義。

        當(dāng)有ListView中有按鈕按下時(shí),在onclick()方法里調(diào)用click()方法。

        MainActivity類(lèi)中click()方法代碼如下。

        (2)子音頻的合成

        由于音頻在錄制的時(shí)候采用的是AMR-NB格式,而AMR文件前6個(gè)字節(jié)為文件頭,要進(jìn)行子音頻文件的拼接,只需要在拼接過(guò)程中去掉除第一段音頻以外所有音頻的前6個(gè)字節(jié)即可。新建文件fileMerge.amr作為拼接后的文件,以文件流的形式依次讀入已有amr文件,代碼片斷如下:

        其中out是文件輸出流,b是字節(jié)數(shù)組,inpu_i是第i個(gè)已存在的音頻文件。從圖8中可以看出,保存的文件fileMerge.amr大小是其他子音頻文件之和。

        圖4 初始界面

        圖5 錄音狀態(tài)

        圖6 添加標(biāo)簽

        圖7 已添加兩個(gè)子音頻列表

        圖8 系統(tǒng)內(nèi)存中 保存的音頻文件

        3 系統(tǒng)運(yùn)行與測(cè)試

        整個(gè)系統(tǒng)按照如下的順序,在完成模塊代碼進(jìn)行對(duì)應(yīng)性能測(cè)試:首先在完成錄音與播放代碼實(shí)現(xiàn)后,反復(fù)對(duì)錄音以及播放功能測(cè)試,以完成正常錄音功能;其次,實(shí)現(xiàn)每暫停錄音一次則保存錄音的子音頻文件在ListView中的代碼,對(duì)列表中的子音頻文件進(jìn)行播放和刪除,確保每段音頻能正常播放或刪除;第三為每次子音頻設(shè)置標(biāo)簽代碼實(shí)現(xiàn)后,測(cè)試添加的標(biāo)簽?zāi)苷o@示;最后完成所有子音頻的合并的代碼后,反復(fù)測(cè)試停止錄音功能并播放合成后的音頻文件,以確保錄音能正常合成并且合并后的音頻能夠正常播放。經(jīng)過(guò)調(diào)試運(yùn)行,系統(tǒng)完成了“開(kāi)始錄音”、“暫停錄音”、“添加標(biāo)簽”、“繼續(xù)錄音”、“播放全部錄音”和“停止錄音”等基本功能。并且Android工程導(dǎo)出的apk安裝包能在Android 6.0.1以下版本的真機(jī)中正常運(yùn)行。

        4 結(jié)語(yǔ)

        Android平臺(tái)下的時(shí)間戳錄音系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),通過(guò)增加書(shū)簽功能使在進(jìn)行長(zhǎng)時(shí)間錄音時(shí),對(duì)錄音進(jìn)行分段,以便更好地對(duì)音頻進(jìn)行更加精準(zhǔn)的操作,彌補(bǔ)了當(dāng)前移動(dòng)系統(tǒng)自帶錄音軟件的不足。系統(tǒng)還存在一些可以改進(jìn)的地方,首先本系統(tǒng)是僅僅實(shí)現(xiàn)了基本功能,并且系統(tǒng)實(shí)現(xiàn)的界面不夠美觀;其次在于音頻文件存放在SD卡根目錄下占用系統(tǒng)內(nèi)存,這些都有待進(jìn)一步完善。最后,為系統(tǒng)設(shè)計(jì)不同主題、云存儲(chǔ)讀寫(xiě)錄音文件[3]等功能,可以提高系統(tǒng)的實(shí)際應(yīng)用價(jià)值。

        猜你喜歡
        按鈕界面系統(tǒng)
        哪個(gè)是門(mén)鈴真正的按鈕
        當(dāng)你面前有個(gè)按鈕
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        國(guó)企黨委前置研究的“四個(gè)界面”
        基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開(kāi)發(fā)方法研究
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        人機(jī)交互界面發(fā)展趨勢(shì)研究
        手機(jī)界面中圖形符號(hào)的發(fā)展趨向
        新聞傳播(2015年11期)2015-07-18 11:15:04
        人人妻人人澡人人爽超污| 国产毛片三区二区一区| 有码视频一区二区三区| 亚洲色偷偷综合亚洲avyp| 永久免费看啪啪网址入口| 狠狠躁夜夜躁AV网站中文字幕| 日本不卡一区二区三区在线| 日韩av一区二区三区激情在线| 日韩欧美成人免费观看| 牛牛本精品99久久精品88m| 国产在线观看精品一区二区三区 | 天天爽夜夜爽人人爽| 亚洲爱婷婷色婷婷五月| 国产日韩久久久久69影院| 熟女人妻一区二区三区| 欧洲熟妇色| 国产日韩欧美亚洲精品中字| 男女上床视频免费网站| 成人久久久精品乱码一区二区三区 | 日韩一线无码av毛片免费| 狠狠亚洲超碰狼人久久老人| 91九色最新国产在线观看| 亚洲中文字幕在线第二页| 五月婷婷激情小说| 国产精品日本中文在线| www夜片内射视频在观看视频| av无码免费永久在线观看| 亚洲成AV人片在一线观看| 成av人片一区二区久久| 国产成人亚洲精品无码av大片| 国产成人国产在线观看入口| 亚洲中文字幕国产综合| 亚洲一区二区在线观看网址| 超薄丝袜足j好爽在线观看| 精品午夜一区二区三区久久| 成人性生交大片免费看l| 性猛交╳xxx乱大交| 欧美精品中文| 亚洲女同人妻在线播放| 国产日产亚洲系列最新| 亚洲日韩乱码中文无码蜜桃臀|