專利名稱:Android系統(tǒng)中的錄音數(shù)據(jù)快速存儲方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,尤其是一種用于在安裝了 Android系統(tǒng)的移動終端 上,用于錄音數(shù)據(jù)即時自動保存的錄音數(shù)據(jù)快速存儲方法。
背景技術(shù):
隨著現(xiàn)代生活節(jié)奏的不斷加快和人們生活水平的不斷提高,手機(jī)的使用在人們?nèi)?常生活中已越來越普及,手機(jī)錄音已經(jīng)成為手機(jī)不可或缺的一個重要功能。手機(jī)錄音功能 在錄音數(shù)據(jù)存儲機(jī)制上存在著一些問題,比如當(dāng)正使用手機(jī)進(jìn)行錄音時,遇到手機(jī)存儲空 間不足或者電池電量不足導(dǎo)致手機(jī)關(guān)機(jī),已經(jīng)錄制的錄音文件得不到保存,導(dǎo)正整個錄音 文件丟失得不到保存,導(dǎo)致整個錄音失敗。遇到這種情況會給用戶帶來很大的麻煩。這是 因為以前的錄音文件存儲時是通過申請空間,創(chuàng)建文件,把數(shù)據(jù)暫放在緩存里,之后才去 讀文件,然后通過文件名保存文件,這種保存方式若遇到手機(jī)掉電、手機(jī)存儲空間已滿等問 題則會造成錄音數(shù)據(jù)無法存儲,從而造成數(shù)據(jù)丟失。目前最流行的安裝了 android系統(tǒng)的 智能手機(jī),其上安裝的錄音系統(tǒng)也沒有能解決此問題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是,針對現(xiàn)有手機(jī)錄音數(shù)據(jù)不能即時保存,容易丟失 的問題,而提供一種即時存儲錄音數(shù)據(jù)的一種Android系統(tǒng)中錄音數(shù)據(jù)快速存儲方法。為了解決上述技術(shù)問題,本發(fā)明提供一種Android系統(tǒng)中的錄音數(shù)據(jù)快速存儲方 法,其特征在于,在錄音系統(tǒng)內(nèi)部建立用于錄音數(shù)據(jù)即時傳輸?shù)臄?shù)據(jù)管道,數(shù)據(jù)管道包括數(shù) 據(jù)輸入管道和數(shù)據(jù)輸出管道,在數(shù)據(jù)管道基礎(chǔ)上建立管道數(shù)據(jù)流方式,管道數(shù)據(jù)流包括管 道數(shù)據(jù)輸入流和管道數(shù)據(jù)輸出流,錄音線程中的錄音數(shù)據(jù)作為管道數(shù)據(jù)輸入流,通過數(shù)據(jù) 輸入管道保存在系統(tǒng)的循環(huán)緩沖區(qū)里,循環(huán)緩沖區(qū)里的錄音數(shù)據(jù)作為管道數(shù)據(jù)輸出流,通 過數(shù)據(jù)輸出管道傳遞給錄音存儲線程,由錄音存儲線程將錄音數(shù)據(jù)即時保存在手機(jī)的存儲 器中;啟動錄音時同時啟動錄音線程和錄音存儲線程。錄音數(shù)據(jù)傳輸、保存到手機(jī)存儲器中的步驟如下
1)啟動錄音,建立文件及文件存儲目錄;
2)判斷建立文件及文件存儲目錄是否成功,如果不成功返回建立文件及文件存儲目錄 的步驟,如果成功,錄音線程通過數(shù)據(jù)輸入管道向循環(huán)緩沖區(qū)寫入錄音數(shù)據(jù);
3)判斷錄音數(shù)據(jù)是否保存到管道的循環(huán)緩沖區(qū);
4)如果保存錄音數(shù)據(jù)到循環(huán)緩沖區(qū)失敗,則判斷是否死鎖,如果判斷為死鎖則錄音存 儲失??;如果判斷沒有死鎖,數(shù)據(jù)輸出流從管道讀出錄音數(shù)據(jù);
如果成功保存錄音數(shù)據(jù)到循環(huán)緩沖區(qū),則數(shù)據(jù)輸出流向管道讀出錄音數(shù)據(jù);
5)循環(huán)緩沖區(qū)中的錄音數(shù)據(jù)通過存儲錄音線程,即時保存錄音數(shù)據(jù)到手機(jī)存儲器中;6)判斷存儲器空間是否已滿或掉電,如果存儲器空間未滿也未掉電,則返回錄音線程 通過數(shù)據(jù)輸入流向循環(huán)緩沖區(qū)寫入錄音數(shù)據(jù)的步驟; 如果存儲器空間已滿或出現(xiàn)掉電,則結(jié)束錄音。進(jìn)一步,所述臨時保存錄音數(shù)據(jù)的循環(huán)緩沖區(qū)內(nèi)的讀操作和寫操作都是分離開 的。本發(fā)明的積極效果是
1、通過管道數(shù)據(jù)流方式即時傳輸錄音數(shù)據(jù)到存儲器,能夠避免因掉電或存儲空間已滿 而導(dǎo)致的錄音數(shù)據(jù)丟失。2、兩個線程之間數(shù)據(jù)能夠安全、及時和有效的傳輸。
圖1是本發(fā)明錄音數(shù)據(jù)傳輸、保存到手機(jī)存儲器中的步驟流程圖。
具體實施例方式下面結(jié)合附圖和具體實施方式
對本發(fā)明作進(jìn)一步的詳細(xì)說明。本發(fā)明所述的Android系統(tǒng)中的錄音數(shù)據(jù)快速存儲方法,在錄音系統(tǒng)內(nèi)部建立用 于錄音數(shù)據(jù)即時傳輸?shù)臄?shù)據(jù)管道,數(shù)據(jù)管道包括數(shù)據(jù)輸入管道和數(shù)據(jù)輸出管道,在數(shù)據(jù)管 道基礎(chǔ)上建立管道數(shù)據(jù)流方式,管道數(shù)據(jù)流包括管道數(shù)據(jù)輸入流和管道數(shù)據(jù)輸出流,錄音 線程中的錄音數(shù)據(jù)作為管道數(shù)據(jù)輸入流,通過數(shù)據(jù)輸入管道保存在系統(tǒng)的循環(huán)緩沖區(qū)里, 循環(huán)緩沖區(qū)里的錄音數(shù)據(jù)作為管道數(shù)據(jù)輸出流,通過數(shù)據(jù)輸出管道傳遞給錄音存儲線程, 由錄音存儲線程將錄音數(shù)據(jù)即時保存在手機(jī)的存儲器中。如圖1所示,錄音數(shù)據(jù)傳輸、保存到手機(jī)存儲器中的步驟如下
1)啟動錄音,建立錄音文件及錄音文件存儲目錄;啟動錄音時將同時啟動錄音線程和 錄音存儲線程。2)判斷建立錄音文件及錄音文件存儲目錄是否成功,如果不成功返回建立文件及 文件存儲目錄的步驟,
如果成功,錄音線程通過數(shù)據(jù)輸入管道向循環(huán)緩沖區(qū)寫入錄音數(shù)據(jù);
3)判斷錄音數(shù)據(jù)是否保存到管道的循環(huán)緩沖區(qū);
4)如果保存錄音數(shù)據(jù)到循環(huán)緩沖區(qū)失敗,則判斷是否死鎖,如果判斷為死鎖則錄音存 儲失??;如果判斷沒有死鎖,通過數(shù)據(jù)輸出管道讀出錄音數(shù)據(jù);
如果成功保存錄音數(shù)據(jù)到循環(huán)緩沖區(qū),則從數(shù)據(jù)輸出管道讀出錄音數(shù)據(jù);
5)循環(huán)緩沖區(qū)中讀出的錄音數(shù)據(jù)通過存儲錄音線程,即時保存錄音數(shù)據(jù)到手機(jī)存儲器
中;
6)判斷存儲器空間是否已滿或掉電,如果存儲器空間未滿也未掉電,則返回錄音線程 通過數(shù)據(jù)輸入流向循環(huán)緩沖區(qū)寫入錄音數(shù)據(jù)的步驟;
如果存儲器空間已滿或出現(xiàn)掉電,則結(jié)束錄音。啟動手機(jī)錄音,錄音線程和錄音存儲線程同時啟動,臨時保存錄音數(shù)據(jù)的循環(huán)緩 沖區(qū)內(nèi)的讀操作和寫操作都是分開的。通過管道數(shù)據(jù)流方式,一邊錄音,一邊實時存儲數(shù) 據(jù),在手機(jī)掉電或存儲空間滿的情況下,自動停止錄音,但是在手機(jī)掉電或存儲空間已滿前所錄下的錄音數(shù)據(jù),都已經(jīng)保存在存儲器中,避免了因掉電或存儲空間已滿而導(dǎo)致的錄音 數(shù)據(jù)丟失,且此保存方式不耗空間,存儲時間短,效率高,無須附加成本。如果遇到錄音被非 正常中斷,前面的錄音內(nèi)容仍然保存在臨時的循環(huán)緩沖區(qū),不影響數(shù)據(jù)輸出管道從臨時緩 沖區(qū)里讀取數(shù)據(jù)并傳遞給錄音存儲線程。錄音線程和錄音存儲線程兩個線程保證其之間數(shù) 據(jù)能夠安全、及時和有效的傳輸。其中兩個數(shù)據(jù)管道將實現(xiàn)錄音線程和存儲錄音線程之間數(shù)據(jù)的傳輸,而不是在一 個線程之間傳輸數(shù)據(jù),因為在一個線程之間進(jìn)行傳輸數(shù)據(jù),有可能循環(huán)緩沖區(qū)被填充滿造 成線程死鎖;緩沖區(qū)限定的范圍內(nèi)有將讀操作和寫操作分離開,這樣便于最終讀出數(shù)據(jù),并 傳遞給存儲錄音線程。本發(fā)明的上述實施例僅僅是為說明本發(fā)明所作的舉例,而并非是對本發(fā)明的實施 方式的限定。對于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其他不 同形式的變化和變動。這里無法對所有的實施方式予以窮舉。凡是屬于本發(fā)明的技術(shù)方案 所引申出的顯而易見的變化或變動仍處于本發(fā)明的保護(hù)范圍之列。
權(quán)利要求
1.一種Android系統(tǒng)中的錄音數(shù)據(jù)快速存儲方法,其特征在于,在錄音系統(tǒng)內(nèi)部建立 用于錄音數(shù)據(jù)即時傳輸?shù)臄?shù)據(jù)管道,數(shù)據(jù)管道包括數(shù)據(jù)輸入管道和數(shù)據(jù)輸出管道,在數(shù)據(jù) 管道基礎(chǔ)上建立管道數(shù)據(jù)流方式,管道數(shù)據(jù)流包括管道數(shù)據(jù)輸入流和管道數(shù)據(jù)輸出流,錄 音線程中的錄音數(shù)據(jù)作為管道數(shù)據(jù)輸入流,通過數(shù)據(jù)輸入管道保存在系統(tǒng)的循環(huán)緩沖區(qū) 里,循環(huán)緩沖區(qū)里的錄音數(shù)據(jù)作為管道數(shù)據(jù)輸出流,通過數(shù)據(jù)輸出管道傳遞給錄音存儲線 程,由錄音存儲線程將錄音數(shù)據(jù)即時保存在手機(jī)的存儲器中;啟動錄音時同時啟動錄音線 程和錄音存儲線程。
2.根據(jù)權(quán)利要求1所述Android系統(tǒng)中的錄音數(shù)據(jù)快速存儲方法,其特征在于,錄音數(shù) 據(jù)傳輸、保存到手機(jī)存儲器中的步驟如下1)啟動錄音,建立錄音文件及錄音文件存儲目錄;2)判斷建立錄音文件及錄音文件存儲目錄是否成功,如果不成功返回建立文件及文件 存儲目錄的步驟,如果成功,錄音線程通過數(shù)據(jù)輸入管道向循環(huán)緩沖區(qū)寫入錄音數(shù)據(jù);3)判斷錄音數(shù)據(jù)是否保存到管道的循環(huán)緩沖區(qū);4)如果保存錄音數(shù)據(jù)到循環(huán)緩沖區(qū)失敗,則判斷是否死鎖,如果判斷為死鎖則錄音存 儲失?。蝗绻袛鄾]有死鎖,通過數(shù)據(jù)輸出管道讀出錄音數(shù)據(jù);如果成功保存錄音數(shù)據(jù)到循環(huán)緩沖區(qū),則從數(shù)據(jù)輸出管道讀出錄音數(shù)據(jù);5)循環(huán)緩沖區(qū)中讀出的錄音數(shù)據(jù)通過存儲錄音線程,即時保存錄音數(shù)據(jù)到手機(jī)存儲器中;6)判斷存儲器空間是否已滿或掉電,如果存儲器空間未滿也未掉電,則返回錄音線程 通過數(shù)據(jù)輸入流向循環(huán)緩沖區(qū)寫入錄音數(shù)據(jù)的步驟;如果存儲器空間已滿或出現(xiàn)掉電,則結(jié)束錄音。
3.根據(jù)權(quán)利要求1所述Android系統(tǒng)中的錄音數(shù)據(jù)快速存儲方法,其特征在于,所述臨 時保存錄音數(shù)據(jù)的循環(huán)緩沖區(qū)內(nèi)的讀操作和寫操作都是分離開的。
全文摘要
一種Android系統(tǒng)中的錄音數(shù)據(jù)快速存儲方法,其特征在于,在錄音系統(tǒng)內(nèi)部建立用于錄音數(shù)據(jù)即時傳輸?shù)臄?shù)據(jù)管道,在數(shù)據(jù)管道基礎(chǔ)上建立管道數(shù)據(jù)流方式,啟動錄音時將同時啟動錄音線程和錄音存儲線程,錄音線程中的錄音數(shù)據(jù)作為管道數(shù)據(jù)輸入流,通過數(shù)據(jù)輸入管道保存在系統(tǒng)的循環(huán)緩沖區(qū)里,循環(huán)緩沖區(qū)里的錄音數(shù)據(jù)作為管道數(shù)據(jù)輸出流,通過數(shù)據(jù)輸出管道傳遞給錄音存儲線程,由錄音存儲線程將錄音數(shù)據(jù)即時保存在手機(jī)的存儲器中,如果存儲器空間已滿或出現(xiàn)掉電,則結(jié)束錄音。本發(fā)明通過管道數(shù)據(jù)流方式即時傳輸錄音數(shù)據(jù)到存儲器,能夠避免因掉電或存儲空間已滿而導(dǎo)致的錄音數(shù)據(jù)丟失;兩個線程之間數(shù)據(jù)能夠安全、及時和有效的傳輸。
文檔編號G06F12/16GK102117328SQ20111005127
公開日2011年7月6日 申請日期2011年3月3日 優(yōu)先權(quán)日2011年3月3日
發(fā)明者何從華, 李雨欣 申請人:重慶國虹科技發(fā)展有限公司