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

Android平臺(tái)下具有書簽功能的時(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)徹底改變了我們的生活方式,越來越多的溝通和交流都可以通過移動(dòng)平臺(tái)及時(shí)得到實(shí)現(xiàn),很多以前需要電腦或?qū)iT設(shè)備才能實(shí)現(xiàn)的操作都可以通過移動(dòng)平臺(tái)方便地進(jìn)行,手機(jī)語(yǔ)音識(shí)別技術(shù)也受到越來越多的關(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ú)法滿足要求。例如:如果想在錄音過程中任意時(shí)刻添加書簽或筆記,這樣在進(jìn)行錄音回放和整理的時(shí)候就會(huì)明確知道從哪里開始回放,不至于頻繁倒退而浪費(fèi)時(shí)間。這樣的功能,目前系統(tǒng)自帶的錄音軟件是無(wú)法滿足的。

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

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

1.1 需求分析

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

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

在每段音頻列表中,都有播放和刪除按鈕,點(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ū),包含“開始錄音”、“暫停播放”、“繼續(xù)播放”、“全部播放”以及“停止錄音”按鈕。將這5個(gè)主要按鈕放置在一個(gè)LinearLayout布局下。初始狀態(tà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)聽。采用MediaRecorder錄音類進(jìn)行音頻錄制,采用MediaPlayer播放類播放錄音。將每次暫停錄音得到的子錄音音頻文件暫時(shí)保存在SD卡根目錄下。系統(tǒng)主要設(shè)置了4個(gè)類,分別為MainActivity類、MyDetailsDialog類、MyAdapter類和MergeAMR類。MainActivity類主要是對(duì)系統(tǒng)主界面的控制,程序從這個(gè)類開始;MyAdapter類是用于處理ListView的適配器;MyDetailsDialog類則用于暫停錄音時(shí)的添加標(biāo)簽功能;MergeAMR類主要處理ListView中子音頻文件,將其合成為一個(gè)音頻文件。系統(tǒng)的關(guān)鍵抽象如圖3所示。

圖3 關(guān)鍵抽象

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

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

本錄音系統(tǒng)采用release版本的Android開發(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í)只有“開始錄音”按鈕可以用。當(dāng)點(diǎn)擊“開始錄音”按鈕后,系統(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)過程中,主要有2個(gè)關(guān)鍵難點(diǎn),分別是ListView列表的監(jiān)控和子音頻文件的合成。現(xiàn)分別就這2個(gè)方面的具體實(shí)現(xiàn)進(jìn)行闡述。

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

在類MyAdapter中定一個(gè)CallBack接口,該接口用于回調(diào)按鈕點(diǎn)擊事件到MainActivity類,MainActivity類中實(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)聽代碼如下,其中holder為每個(gè)ListView子Item對(duì)應(yīng)的子類,該類在MyAdapter中定義。

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

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

(2)子音頻的合成

由于音頻在錄制的時(shí)候采用的是AMR-NB格式,而AMR文件前6個(gè)字節(jié)為文件頭,要進(jìn)行子音頻文件的拼接,只需要在拼接過程中去掉除第一段音頻以外所有音頻的前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)過調(diào)試運(yùn)行,系統(tǒng)完成了“開始錄音”、“暫停錄音”、“添加標(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),通過增加書簽功能使在進(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ǔ)讀寫錄音文件[3]等功能,可以提高系統(tǒng)的實(shí)際應(yīng)用價(jià)值。

猜你喜歡
按鈕界面系統(tǒng)
這些按鈕能隨便按嗎?
當(dāng)你面前有個(gè)按鈕
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
國(guó)企黨委前置研究的“四個(gè)界面”
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
人機(jī)交互界面發(fā)展趨勢(shì)研究
手機(jī)界面中圖形符號(hào)的發(fā)展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 麻豆AV网站免费进入| 日韩AV无码一区| 国产91丝袜在线播放动漫 | 为你提供最新久久精品久久综合| 成年午夜精品久久精品| 五月天丁香婷婷综合久久| 欧美人在线一区二区三区| 久久夜夜视频| a亚洲视频| 日韩人妻精品一区| 热99re99首页精品亚洲五月天| www欧美在线观看| 国产微拍一区| 国产粉嫩粉嫩的18在线播放91| 亚洲aaa视频| 欧美日韩理论| 激情六月丁香婷婷| 毛片网站观看| 日本日韩欧美| 国产精品55夜色66夜色| 9cao视频精品| 无码免费的亚洲视频| 99精品国产高清一区二区| 欧美日韩激情在线| 日本伊人色综合网| 熟妇丰满人妻av无码区| 91无码视频在线观看| 欧美精品成人| 国产成人精品男人的天堂下载| 理论片一区| 国产精品任我爽爆在线播放6080| 国产精品香蕉在线| 亚洲中文精品久久久久久不卡| 免费国产在线精品一区| 九色91在线视频| 91美女视频在线观看| 毛片久久久| 午夜日本永久乱码免费播放片| 色妺妺在线视频喷水| 亚洲欧洲日韩国产综合在线二区| 精品国产Av电影无码久久久| 最新国产你懂的在线网址| 一级一毛片a级毛片| 国产一级二级在线观看| 国内毛片视频| 女人18毛片久久| 高清免费毛片| 日本欧美中文字幕精品亚洲| 国产成人AV综合久久| 天天综合色天天综合网| 色哟哟精品无码网站在线播放视频| 亚洲二区视频| 青青青草国产| 亚洲国产精品一区二区高清无码久久 | 国产a v无码专区亚洲av| 国产成人三级| 国产精品第5页| 国产欧美日韩视频怡春院| 久久网综合| www.狠狠| 国内精品视频| 欧美亚洲激情| 国产精品区网红主播在线观看| 精久久久久无码区中文字幕| 国内精品小视频福利网址| 8090午夜无码专区| 99久久精品久久久久久婷婷| 欧美精品色视频| 中文字幕啪啪| 亚洲日韩国产精品无码专区| 91亚洲精品国产自在现线| 色综合五月| 人妻精品久久无码区| 国产高清毛片| a级毛片网| 国产在线视频福利资源站| 色婷婷亚洲综合五月| 幺女国产一级毛片| www.亚洲色图.com| 中字无码精油按摩中出视频| 激情午夜婷婷| 中国一级特黄大片在线观看|