本發(fā)明涉及產(chǎn)品檢測(cè)領(lǐng)域,尤其涉及一種終端的麥克風(fēng)檢測(cè)方法及終端。
背景技術(shù):
為了追求生產(chǎn)效率,對(duì)終端工檢時(shí)間的要求越來越短,而麥克風(fēng)作為終端上的基礎(chǔ)部件之一,其工檢時(shí)間直接影響著終端的工檢時(shí)長?,F(xiàn)有的終端麥克風(fēng)工檢過程中,通常通過先錄后播的方式進(jìn)行工檢。具體的,終端在接收到工檢指令后,會(huì)首先控制麥克風(fēng)采集一段音源,并將該麥克風(fēng)采集到的音源對(duì)應(yīng)的全部音頻數(shù)據(jù)緩存至該終端的存儲(chǔ)器中,然后,再將該存儲(chǔ)器中存儲(chǔ)的全部音頻數(shù)據(jù)傳輸至聲音輸出設(shè)備(例如,耳機(jī)、喇叭等),通過該聲音輸出設(shè)備完成音源播放,再通過工檢軟件或工檢設(shè)備等將從聲音輸出設(shè)備獲取到的上述音源數(shù)據(jù)的信號(hào)強(qiáng)度與預(yù)定閾值進(jìn)行比較,從而判定被檢測(cè)的麥克風(fēng)是否合格。
但是,上述的先錄后播的工檢方式,由于需要等待麥克風(fēng)將全部數(shù)據(jù)緩存,聲音輸出設(shè)備再采集緩存的全部數(shù)據(jù)并播放,使得麥克風(fēng)在執(zhí)行錄播該段音源的時(shí)間為麥克風(fēng)采集該段音源所用時(shí)間的兩倍,導(dǎo)致利用先錄音后播放的方式完成麥克風(fēng)的檢測(cè)時(shí)間較長,從而使得應(yīng)用該檢測(cè)方式檢測(cè)終端上的麥克風(fēng)的時(shí)間較長,導(dǎo)致終端的工檢時(shí)間較長,進(jìn)一步降低了測(cè)試效率。
為了滿足移動(dòng)設(shè)備的工檢時(shí)間越來越短的要求,如何縮短麥克風(fēng)的檢測(cè)時(shí)間成為亟待解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施例提供一種終端的麥克風(fēng)檢測(cè)方法及終端,以解決現(xiàn)有麥克風(fēng)檢測(cè)時(shí)間較長的問題。
為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
第一方面,提供一種終端的麥克風(fēng)檢測(cè)方法,應(yīng)用于具有麥克風(fēng)的終端,所述麥克風(fēng)檢測(cè)所用的音頻數(shù)據(jù)所占的存儲(chǔ)空間為第一閾值N,所述方法包括:
控制所述麥克風(fēng)采集檢測(cè)所用的音頻數(shù)據(jù),并將采集到的音頻數(shù)據(jù)存儲(chǔ)至第一數(shù)據(jù)緩沖區(qū),其中,所述第一數(shù)據(jù)緩沖區(qū)的存儲(chǔ)空間為第二閾值M,M小于N;
將所述第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備以便所述聲音輸出設(shè)備進(jìn)行播放;
重復(fù)對(duì)檢測(cè)所用的音頻數(shù)據(jù)的采集和存儲(chǔ),直至所述麥克風(fēng)采集完所述檢測(cè)所用的音頻數(shù)據(jù)。
第二方面,提供一種終端,所述麥克風(fēng)檢測(cè)所用的音頻數(shù)據(jù)所占的存儲(chǔ)空間為第一閾值N,所述終端包括:采集模塊,寫入模塊以及麥克風(fēng),其中:
采集模塊,用于控制所述麥克風(fēng)采集檢測(cè)所用的音頻數(shù)據(jù),將采集到的音頻數(shù)據(jù)存儲(chǔ)至第一數(shù)據(jù)緩沖區(qū),其中,所述第一數(shù)據(jù)緩沖區(qū)的存儲(chǔ)空間為第二閾值M,M小于N;
寫入模塊,用于將所述第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備以便所述聲音輸出設(shè)備進(jìn)行播放;
所述采集模塊,還用于重復(fù)對(duì)檢測(cè)所用的音頻數(shù)據(jù)的采集和存儲(chǔ),直至所述麥克風(fēng)采集完所述檢測(cè)所用的音頻數(shù)據(jù)。
本發(fā)明實(shí)施例提供的終端的麥克風(fēng)檢測(cè)方法及終端,通過控制麥克風(fēng)采集檢測(cè)所用的所占存儲(chǔ)空間為第一閾值N的音頻數(shù)據(jù),并將采集到的音頻數(shù)據(jù)存儲(chǔ)至存儲(chǔ)空間為第二閾值M的數(shù)據(jù)緩沖區(qū),然后將數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備以便聲音輸出設(shè)備進(jìn)行播放,再重復(fù)對(duì)檢測(cè)所用的音頻數(shù)據(jù)的采集和存儲(chǔ),直至麥克風(fēng)采集完檢測(cè)所用的音頻數(shù)據(jù)。由于本方案中數(shù)據(jù)緩沖區(qū)的存儲(chǔ)空間小于麥克風(fēng)采集檢測(cè)所用的所占存儲(chǔ)空間,即M小于N,這樣當(dāng)麥克風(fēng)持續(xù)的將采集到的音頻數(shù)據(jù)存儲(chǔ)至該數(shù)據(jù)緩沖區(qū)中時(shí),由于數(shù)據(jù)緩沖區(qū)會(huì)在該數(shù)據(jù)緩沖區(qū)存滿時(shí)將該數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備,從而使得該終端可以實(shí)現(xiàn)邊錄邊播這種工檢方式,相比于現(xiàn)有技術(shù)時(shí)通過將檢測(cè)所用的所占存儲(chǔ)空間為N的音頻數(shù)據(jù)全部存儲(chǔ)至存儲(chǔ)器后,再輸出至聲音輸出設(shè)備,使得麥克風(fēng)在執(zhí)行錄播該段音源的時(shí)間為麥克風(fēng)采集該段音源所用時(shí)間的兩倍,本方案明顯縮短了麥克風(fēng)的檢測(cè)時(shí)間,從而能夠有效的縮短終端的工檢時(shí)間,提高了測(cè)試效率。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種終端的結(jié)構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例提供的一種終端的麥克風(fēng)檢測(cè)方法的流程示意圖;
圖3為本發(fā)明實(shí)施例提供的一種終端實(shí)現(xiàn)同時(shí)錄播方法的流程示意圖;
圖4為本發(fā)明實(shí)施例提供的一種終端的麥克風(fēng)選擇的流程示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供的終端的麥克風(fēng)檢測(cè)方法的執(zhí)行主體為用于執(zhí)行上述終端的麥克風(fēng)檢測(cè)方法的終端,或者可以為上述終端中的中央處理器(英文:Central Processing Unit,簡(jiǎn)稱:CPU)或者上述終端中的控制單元或者功能模塊。具體的,該終端可以為智能電視、智能手機(jī)、平板電腦、筆記本電腦、超級(jí)移動(dòng)個(gè)人計(jì)算機(jī)(英文:Ultra-mobile Personal Computer,簡(jiǎn)稱:UMPC)、上網(wǎng)本、個(gè)人數(shù)字助理(英文:Personal Digital Assistant,簡(jiǎn)稱:PDA)等終端設(shè)備。參照?qǐng)D1所示的終端的結(jié)構(gòu)示意圖可知,本發(fā)明實(shí)施例中的終端1包括:采集模塊11、寫入模塊12、以及至少一個(gè)麥克風(fēng)13,其中:上述終端中的麥克風(fēng)13(又稱:微音器、話筒或傳聲器,英文:Microphone),是一種將聲音轉(zhuǎn)換成電子信號(hào)的換能器,用于采集音頻數(shù)據(jù),為能夠采集音頻信號(hào)的音頻采集設(shè)備。上述的采集模塊11用于控制麥克風(fēng)13采集麥克風(fēng)檢測(cè)所用的音頻數(shù)據(jù),并將麥克風(fēng)13采集到的音頻數(shù)據(jù)存儲(chǔ)數(shù)據(jù)緩沖區(qū),上述的寫入模塊12用于將麥克風(fēng)13采集到的音頻數(shù)據(jù)寫入數(shù)據(jù)緩沖區(qū)中。
需要說明的是,本發(fā)明實(shí)施例中的聲音輸出設(shè)備可以為終端內(nèi)置的聲音輸出設(shè)備,也可以為終端外接的聲音輸出設(shè)備。
示例性的,當(dāng)上述的聲音輸出設(shè)備為終端內(nèi)置的聲音輸出設(shè)備時(shí),該聲音輸出設(shè)備可以為該終端內(nèi)置的喇叭,其中,喇叭是是一種電能轉(zhuǎn)換成聲音的一種聲音轉(zhuǎn)換設(shè)備;當(dāng)上述的聲音輸出設(shè)備為終端外接的聲音輸出設(shè)備時(shí),上述的聲音輸出設(shè)備的設(shè)備類型包括但不限于:喇叭、功率放大器、藍(lán)牙設(shè)備、USB音響,具體的:
功率放大器簡(jiǎn)稱功放,俗稱“擴(kuò)音機(jī)”,是音響系統(tǒng)中最基本的設(shè)備,它的任務(wù)是把來自信號(hào)源(專業(yè)音響系統(tǒng)中則是來自調(diào)音臺(tái))的微弱電信號(hào)進(jìn)行放大以驅(qū)動(dòng)揚(yáng)聲器發(fā)出聲音。
藍(lán)牙設(shè)備是將支持設(shè)備短距離通信(一般是10m之內(nèi))的無線電技術(shù)應(yīng)用到傳統(tǒng)數(shù)碼、多媒體音箱或耳機(jī)等裝置上,無需連接多余的線。
USB音響:只需把音響的USB插頭與電腦連接,電腦的聲音就會(huì)從USB音箱發(fā)出。
需要說明的是,本發(fā)明實(shí)施例中,“示例性的”或者“例如”等詞用于表示作例子、例證或說明。本發(fā)明實(shí)施例中被描述為“示例性的”或者“例如”的任何實(shí)施例或設(shè)計(jì)方案不應(yīng)被解釋為比其它實(shí)施例或設(shè)計(jì)方案更優(yōu)選或更具優(yōu)勢(shì)。確切而言,使用“示例性的”或者“例如”等詞旨在以具體方式呈現(xiàn)相關(guān)概念。
需要說明的是,本發(fā)明實(shí)施例中,除非另有說明,“多個(gè)”的含義是指兩個(gè)或兩個(gè)以上。例如,多個(gè)數(shù)據(jù)包是指兩個(gè)或兩個(gè)以上的數(shù)據(jù)包。
本文中術(shù)語“和/或”,僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:?jiǎn)为?dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
為了便于清楚描述本發(fā)明實(shí)施例的技術(shù)方案,在本發(fā)明的實(shí)施例中,采用了“第一”、“第二”等字樣對(duì)功能或作用基本相同的相同項(xiàng)或相似項(xiàng)進(jìn)行區(qū)分,本領(lǐng)域技術(shù)人員可以理解“第一”、“第二”等字樣并不對(duì)數(shù)量和執(zhí)行次序進(jìn)行限定。
基于圖1所示的終端結(jié)構(gòu)示意圖,本發(fā)明的實(shí)施例提供一種終端的麥克風(fēng)檢測(cè)方法,麥克風(fēng)檢測(cè)所用的音頻數(shù)據(jù)所占的存儲(chǔ)空間為第一閾值N,如圖2所示,該方法具體包括如下步驟:
101、控制麥克風(fēng)采集檢測(cè)所用的音頻數(shù)據(jù),并將采集到的音頻數(shù)據(jù)存儲(chǔ)至第一數(shù)據(jù)緩沖區(qū)。
其中,上述的第一數(shù)據(jù)緩沖區(qū)的存儲(chǔ)空間為第二閾值M,M小于N。
示例性的,上述的音頻數(shù)據(jù)可以為純音或者掃頻音源樣本的數(shù)據(jù)。其中,上述的純音為具有單一頻率的正弦波,例如,音叉發(fā)出的聲音就是純音,音叉(英文:tuning fork)是形狀呈“Y”形、材料為鋼質(zhì)或鋁合金的發(fā)聲器,由于不同音叉的質(zhì)量、叉臂長短以及粗細(xì)的不同,使得不同音叉在振動(dòng)時(shí)能夠發(fā)出不同頻率的純音;上述的掃頻,是指信號(hào)在一個(gè)頻率段內(nèi),頻率由高到低連續(xù)變化、或由低到高連續(xù)變化的過程。
需要說明的是,本發(fā)明實(shí)施例中的數(shù)據(jù)緩沖區(qū)可以是終端預(yù)先申請(qǐng)的,也可以是在麥克風(fēng)采集音頻的過程中實(shí)時(shí)申請(qǐng)的。示例性的,在麥克風(fēng)采集檢測(cè)麥克風(fēng)所用的音頻數(shù)據(jù)之前,終端會(huì)為其區(qū)申請(qǐng)存儲(chǔ)空間為M的數(shù)據(jù)緩沖區(qū)。
102、將第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備以便聲音輸出設(shè)備進(jìn)行播放。
一般的,本發(fā)明實(shí)施例中的終端通常是在數(shù)據(jù)緩沖區(qū)存滿時(shí)才對(duì)該數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)執(zhí)行讀出操作,并將讀出的音頻數(shù)據(jù)寫入聲音輸出設(shè)備進(jìn)行播放,但是,通常情況下,麥克風(fēng)將要采集完檢測(cè)所用的音頻數(shù)據(jù)時(shí),其當(dāng)前存儲(chǔ)音頻數(shù)據(jù)的數(shù)據(jù)緩沖區(qū)并未存滿,此時(shí),由于該數(shù)據(jù)緩沖區(qū)并未存滿數(shù)據(jù),從而導(dǎo)致終端無法將該數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)讀出,因此,本發(fā)明實(shí)施例在該麥克風(fēng)采集完檢測(cè)所用的音頻數(shù)據(jù)時(shí)通過在音頻數(shù)據(jù)中增加一個(gè)截止標(biāo)識(shí),從而使得終端可以在數(shù)據(jù)緩沖區(qū)未存滿數(shù)據(jù)時(shí),對(duì)其執(zhí)行數(shù)據(jù)讀出操作。
可選的,步驟102具體包括如下內(nèi)容:
102a1、判斷第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)是否占滿第一數(shù)據(jù)緩沖區(qū),若是,則將第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備;
或者,
102a2、判斷第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)中是否包含截止標(biāo)識(shí),若是,則將第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備。
其中,截止標(biāo)識(shí)用于標(biāo)識(shí)麥克風(fēng)已采集完檢測(cè)所用的音頻數(shù)據(jù),即麥克風(fēng)停止采集音頻數(shù)據(jù),一種示例中,該截止標(biāo)識(shí)可以為一串重復(fù)的字符。
示例性的,當(dāng)終端判斷第一數(shù)據(jù)緩沖區(qū)存滿音頻數(shù)據(jù)時(shí),則該終端將第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備,當(dāng)終端完成向聲音輸出設(shè)備寫入音頻數(shù)據(jù)的操作后,該終端便可以清空第一數(shù)據(jù)緩沖區(qū)中的音頻數(shù)據(jù),繼續(xù)將麥克風(fēng)采集到的檢測(cè)所用音頻數(shù)據(jù)存儲(chǔ)至第一數(shù)據(jù)緩沖區(qū)中;或者,當(dāng)終端判定該第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)中包含截止標(biāo)識(shí),則表明麥克風(fēng)已采集完檢測(cè)所用的音頻數(shù)據(jù),此時(shí),無論第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)是否占滿第一數(shù)據(jù)緩沖區(qū),均可將第一數(shù)據(jù)緩沖區(qū)中的音頻數(shù)據(jù)寫入聲音輸出設(shè)備,以完成音頻數(shù)據(jù)的存儲(chǔ)過程。
示例性的,在軟件層面實(shí)現(xiàn)時(shí),可以在軟件層面上創(chuàng)建AudioRecord(音頻記錄)作為錄音端(即軟件層面上的錄音接口),創(chuàng)建AudioTrack(音頻軌道)作為播放端(即軟件層面上的播放接口),并創(chuàng)建指定大小的數(shù)據(jù)緩沖區(qū),AudioRecord使用此數(shù)據(jù)緩沖區(qū)作音頻數(shù)據(jù)的存放區(qū)。通過讀操作(即read方法)將麥克風(fēng)采集到的音頻數(shù)據(jù)存放在緩沖區(qū)中,同時(shí)AudioTrack通過寫操作(即write方法),將該數(shù)據(jù)緩沖區(qū)中的音頻數(shù)據(jù)寫入聲音輸出設(shè)備中,由聲音輸出設(shè)備采集音頻數(shù)據(jù)。
103、重復(fù)對(duì)檢測(cè)所用的音頻數(shù)據(jù)的采集和存儲(chǔ),直至麥克風(fēng)采集完檢測(cè)所用的音頻數(shù)據(jù)。
示例性的,由于第一數(shù)據(jù)緩沖區(qū)的存儲(chǔ)空間為M,且M小于檢測(cè)麥克風(fēng)所用的音頻數(shù)據(jù)所占的存儲(chǔ)空間N,當(dāng)?shù)谝粩?shù)據(jù)緩沖區(qū)存滿音頻數(shù)據(jù)后,還需要將麥克風(fēng)繼續(xù)采集的音頻數(shù)據(jù)存儲(chǔ)在第一數(shù)據(jù)緩沖區(qū),因此,在第一數(shù)據(jù)緩沖區(qū)存滿音頻數(shù)據(jù),則終端將第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備,并在完成向聲音輸出設(shè)備寫入音頻數(shù)據(jù)的操作后,清空該第一數(shù)據(jù)緩沖區(qū)中的音頻數(shù)據(jù),以便麥克風(fēng)將再次采集的檢測(cè)所用的音頻數(shù)據(jù)存儲(chǔ)至第一數(shù)據(jù)緩沖區(qū),直至終端判定該第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)中包含截止標(biāo)識(shí),則第一數(shù)據(jù)緩沖區(qū)結(jié)束存儲(chǔ)檢測(cè)所用的音頻數(shù)據(jù)。
需要說明的是,對(duì)不同麥克風(fēng)檢測(cè)時(shí)可以采用系統(tǒng)默認(rèn)的音量,不用針對(duì)不同的麥克風(fēng)單獨(dú)設(shè)置麥克風(fēng)增益。
此外,由于通過聲音輸出設(shè)備播放音頻數(shù)據(jù)可以確定麥克風(fēng)能夠發(fā)出聲音,但無法確定麥克風(fēng)錄制音頻數(shù)據(jù)的可靠性,即無法確定麥克風(fēng)錄制的音頻數(shù)據(jù)的質(zhì)量,進(jìn)而無法判定麥克風(fēng)是否合格。因此,可以通過如下內(nèi)容判定:獲取聲音輸出設(shè)備播放的音頻數(shù)據(jù)的信號(hào)強(qiáng)度,根據(jù)音頻數(shù)據(jù)的信號(hào)強(qiáng)度與預(yù)定范圍[a,b]的關(guān)系,判定麥克風(fēng)是否合格。
示例性的,參照?qǐng)D3所示的實(shí)現(xiàn)同時(shí)錄播方法的流程示意圖,麥克風(fēng)對(duì)播放的音源樣本進(jìn)行采集,將采集到的音頻數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)緩沖區(qū),當(dāng)數(shù)據(jù)緩沖區(qū)存滿后,將數(shù)據(jù)緩沖區(qū)中的音頻數(shù)據(jù)寫入聲音輸出設(shè)備,當(dāng)聲音輸出設(shè)備播放音頻數(shù)據(jù)時(shí),能夠獲取到該音頻數(shù)據(jù)的音頻信號(hào)強(qiáng)度,使用獲取到的音頻信號(hào)強(qiáng)度能夠檢測(cè)麥克風(fēng)合格或不合格,并記錄麥克風(fēng)的檢測(cè)結(jié)果。當(dāng)麥克風(fēng)完成音頻數(shù)據(jù)的采集,具體的,通過聲音輸出設(shè)備進(jìn)行播放后,工檢設(shè)備檢測(cè)聲音輸出設(shè)備播放的音頻數(shù)據(jù)的模擬信號(hào),并獲取音頻數(shù)據(jù)的信號(hào)強(qiáng)度。若該音頻數(shù)據(jù)的信號(hào)強(qiáng)度小于a或大于b,則判定麥克風(fēng)檢測(cè)不合格,存在問題;若該音頻數(shù)據(jù)的信號(hào)強(qiáng)度屬于[a,b],則判定麥克風(fēng)檢測(cè)合格,符合出廠要求,并記錄麥克風(fēng)的檢測(cè)結(jié)果。
由于本方案中數(shù)據(jù)緩沖區(qū)的存儲(chǔ)空間小于麥克風(fēng)采集檢測(cè)所用的所占存儲(chǔ)空間,即M小于N,這樣當(dāng)麥克風(fēng)持續(xù)的將采集到的音頻數(shù)據(jù)存儲(chǔ)至該數(shù)據(jù)緩沖區(qū)中時(shí),由于數(shù)據(jù)緩沖區(qū)會(huì)在該數(shù)據(jù)緩沖區(qū)存滿時(shí)將該數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備,從而使得該終端可以實(shí)現(xiàn)邊錄邊播這種工檢方式,相比于現(xiàn)有技術(shù)通過將檢測(cè)所用的所占存儲(chǔ)空間為N的音頻數(shù)據(jù)全部存儲(chǔ)至存儲(chǔ)器后,再輸出至聲音輸出設(shè)備,使得麥克風(fēng)在執(zhí)行錄播該段音源的時(shí)間為麥克風(fēng)采集該段音源所用時(shí)間的兩倍,本方案明顯縮短了麥克風(fēng)的檢測(cè)時(shí)間,從而能夠有效的縮短終端的工檢時(shí)間,提高了測(cè)試效率。
可選的,當(dāng)本發(fā)明實(shí)施例中的終端僅申請(qǐng)了一個(gè)存儲(chǔ)空間為M的數(shù)據(jù)緩沖區(qū)時(shí),由于該終端只包含一個(gè)存儲(chǔ)空間為M的數(shù)據(jù)緩沖區(qū),因此,當(dāng)終端將數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備后,若終端需要繼續(xù)將麥克風(fēng)繼續(xù)采集的檢測(cè)所用的音頻數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)緩沖區(qū)中,則需要清空該數(shù)據(jù)緩沖區(qū)中的音頻數(shù)據(jù),才能繼續(xù)存儲(chǔ)音頻數(shù)據(jù),而清空數(shù)據(jù)緩沖區(qū)則會(huì)占用麥克風(fēng)的工檢時(shí)間。同時(shí),由于終端在將數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備的同時(shí),麥克風(fēng)仍然會(huì)繼續(xù)采集檢測(cè)所用的音頻數(shù)據(jù),此時(shí),若該終端還未將數(shù)據(jù)緩沖區(qū)清空,則可能會(huì)使得小部分的音頻數(shù)據(jù)丟失。
基于此,本發(fā)明實(shí)施例中的終端通過申請(qǐng)至少兩個(gè)存儲(chǔ)空間為M的數(shù)據(jù)緩沖區(qū)來解決上述問題。
示例的,當(dāng)終端包括至少兩個(gè)數(shù)據(jù)緩沖區(qū);步驟102在第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備的同時(shí),還可包括如下步驟:
102b、控制麥克風(fēng)繼續(xù)采集檢測(cè)所用的音頻數(shù)據(jù),并將采集到的音頻數(shù)據(jù)存儲(chǔ)至第二數(shù)據(jù)緩沖區(qū)。
其中,上述的第二數(shù)據(jù)緩沖區(qū)為至少兩個(gè)數(shù)據(jù)緩沖區(qū)中當(dāng)前空閑的數(shù)據(jù)緩沖區(qū)。
示例性的,當(dāng)終端包含至少兩個(gè)數(shù)據(jù)緩沖區(qū)時(shí),則終端可以任選一個(gè)數(shù)據(jù)緩沖區(qū)來存儲(chǔ)麥克風(fēng)采集到的音頻數(shù)據(jù),并在其存滿后,從上述的至少兩個(gè)數(shù)據(jù)緩沖區(qū)中選擇一個(gè)空閑的數(shù)據(jù)緩沖區(qū),繼續(xù)存儲(chǔ)麥克風(fēng)采集到的音頻數(shù)據(jù),重復(fù)上述的音頻數(shù)據(jù)的采集和存儲(chǔ)過程,直至麥克風(fēng)采集完檢測(cè)所用的音頻數(shù)據(jù)為止。
此外,由于終端在將數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備后,會(huì)清空數(shù)據(jù)緩沖區(qū)中的音頻數(shù)據(jù),這樣當(dāng)后續(xù)基于該麥克風(fēng)采集到的音頻數(shù)據(jù)檢測(cè)出該麥克風(fēng)不合格時(shí),便無法基于之前采集到的音頻數(shù)據(jù)進(jìn)行工檢,從而需要麥克風(fēng)重新采集檢測(cè)麥克風(fēng)所用的音頻數(shù)據(jù),進(jìn)而進(jìn)一步增加了麥克風(fēng)工檢的時(shí)間。
基于此,若不考慮該終端的存儲(chǔ)容量,為了解決上述問題,一種優(yōu)選的實(shí)施例為:終端可以任選一個(gè)數(shù)據(jù)緩沖區(qū)1來存儲(chǔ)麥克風(fēng)采集到的音頻數(shù)據(jù),并在其存滿后,終端再申請(qǐng)一個(gè)存儲(chǔ)空間為M的數(shù)據(jù)緩沖區(qū)2(當(dāng)然也可以預(yù)先進(jìn)行申請(qǐng)),并將麥克風(fēng)繼續(xù)采集到的音頻數(shù)據(jù)繼續(xù)存儲(chǔ)至數(shù)據(jù)緩沖區(qū)2中,這樣不考慮對(duì)數(shù)據(jù)緩存區(qū)的重復(fù)使用,在每個(gè)數(shù)據(jù)緩沖區(qū)存滿后,通過申請(qǐng)或選擇一個(gè)空閑的數(shù)據(jù)緩沖區(qū)來存儲(chǔ)麥克風(fēng)采集的音頻數(shù)據(jù),可以進(jìn)一步的縮短麥克風(fēng)工檢的時(shí)間,提高麥克風(fēng)工檢效率。
可選的,步驟102b具體包括如下內(nèi)容:
102c1、判斷第二數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)是否占滿第二數(shù)據(jù)緩沖區(qū),若是,則所將第二數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備;
或者,
102c2、判斷第二數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)中是否包含截止標(biāo)識(shí),若是,則將第二數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備。
示例性的,當(dāng)麥克風(fēng)采集的音頻數(shù)據(jù)至少能夠存滿兩個(gè)存儲(chǔ)空間為M的數(shù)據(jù)緩沖區(qū),且終端包含至少兩個(gè)存儲(chǔ)空間為M的數(shù)據(jù)緩沖區(qū),例如,終端包含三個(gè)存儲(chǔ)空間為M的數(shù)據(jù)緩沖區(qū),如,數(shù)據(jù)緩沖區(qū)1、數(shù)據(jù)緩沖區(qū)2、以及數(shù)據(jù)緩沖區(qū)3,首先,麥克風(fēng)第一次采集到的音頻數(shù)據(jù)可存儲(chǔ)在上述的三個(gè)數(shù)據(jù)緩沖區(qū)的任一個(gè)數(shù)據(jù)緩沖區(qū)中,若麥克風(fēng)第一次采集到的音頻數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)緩沖區(qū)1中,則在數(shù)據(jù)緩沖區(qū)1存滿后,則該數(shù)據(jù)緩沖區(qū)1將存儲(chǔ)的音頻數(shù)據(jù)全部寫入聲音輸出設(shè)備,并判定當(dāng)前剩余的數(shù)據(jù)緩沖區(qū)2和數(shù)據(jù)緩沖區(qū)3是否為空閑數(shù)據(jù)緩沖區(qū),即對(duì)這兩個(gè)數(shù)據(jù)緩沖區(qū)中是否存儲(chǔ)數(shù)據(jù)進(jìn)行判定,若判定數(shù)據(jù)緩沖區(qū)2和數(shù)據(jù)緩沖區(qū)3均為空閑數(shù)據(jù)緩沖區(qū),則可將麥克風(fēng)第二次采集到的音頻數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)緩沖區(qū)2或數(shù)據(jù)緩沖區(qū)3,重復(fù)對(duì)音頻數(shù)據(jù)的采集和存儲(chǔ),直至數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)中包含截止標(biāo)識(shí),則將數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的包含截止標(biāo)識(shí)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備。
若終端包括至少兩個(gè)麥克風(fēng),以手機(jī)為例,手機(jī)中通常包括:主麥克風(fēng)、輔麥克風(fēng)以及與手機(jī)相連的耳機(jī)上的麥克風(fēng)等,由于當(dāng)終端上至少兩個(gè)麥克風(fēng)時(shí),無法同時(shí)檢測(cè)該終端中的所有麥克風(fēng),因此,本方案通過在麥克風(fēng)檢測(cè)指令中添加需要檢測(cè)的麥克風(fēng)(即目標(biāo)麥克風(fēng))的標(biāo)識(shí)信息,從而指示終端完成目標(biāo)麥克風(fēng)的選擇。具體的,當(dāng)終端包括至少兩個(gè)麥克風(fēng)時(shí),步驟101中控制麥克風(fēng)采集檢測(cè)所用的音頻數(shù)據(jù),可包括:
A1、獲取待檢測(cè)麥克風(fēng)的標(biāo)識(shí)信息,根據(jù)標(biāo)識(shí)信息控制待檢測(cè)麥克風(fēng)采集檢測(cè)所用的音頻數(shù)據(jù)。
示例性的,工檢設(shè)備能夠通過應(yīng)用程序發(fā)送麥克風(fēng)檢測(cè)指令,該麥克風(fēng)檢測(cè)指令中包含待檢測(cè)麥克風(fēng)的標(biāo)識(shí)信息,在獲取到該麥克風(fēng)檢測(cè)指令后,即獲取到待檢測(cè)麥克風(fēng)的標(biāo)識(shí)信息,根據(jù)標(biāo)識(shí)信息,完成目標(biāo)麥克風(fēng)的選擇,并控制所選擇的待檢測(cè)麥克風(fēng)采集檢測(cè)所用的音頻數(shù)據(jù)。例如,如圖4所示,若終端安裝安卓操作系統(tǒng),當(dāng)工檢設(shè)備需要檢測(cè)的是終端上的主麥克風(fēng),則工檢程序可以通過聲音管理程序(英文:AudioManager)提供的“接口”(例如,可以是工檢設(shè)備的控制面板)做參數(shù)設(shè)置操作(英文:setParameter)。例如,可以約定設(shè)置的相關(guān)參數(shù)(英文:parameter)值為1時(shí),表示現(xiàn)在需要檢測(cè)終端上的主麥克風(fēng);設(shè)置的相關(guān)參數(shù)值為2時(shí),表示現(xiàn)在需要檢測(cè)終端上的輔麥克風(fēng)等;依次類推。然后安卓操作系統(tǒng)中的音頻硬件抽象層根據(jù)相應(yīng)的參數(shù)值選定終端上對(duì)應(yīng)的麥克風(fēng),為后續(xù)的檢測(cè)做準(zhǔn)備。
本發(fā)明的實(shí)施例提供一種終端,麥克風(fēng)檢測(cè)所用的音頻數(shù)據(jù)所占的存儲(chǔ)空間為第一閾值N,如圖1所示,該終端1包括:采集模塊11和寫入模塊12以及麥克風(fēng)13,其中:
采集模塊11,用于控制麥克風(fēng)13采集檢測(cè)所用的音頻數(shù)據(jù),將采集到的音頻數(shù)據(jù)存儲(chǔ)至第一數(shù)據(jù)緩沖區(qū)。
其中,上述的第一數(shù)據(jù)緩沖區(qū)的存儲(chǔ)空間為第二閾值M,M小于N。
寫入模塊12,用于將第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備以便聲音輸出設(shè)備進(jìn)行播放;
上述的采集模塊11,還用于重復(fù)對(duì)檢測(cè)所用的音頻數(shù)據(jù)的采集和存儲(chǔ),直至麥克風(fēng)13采集完檢測(cè)所用的音頻數(shù)據(jù)。
可選的,上述的寫入模塊12將第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備,包括:
判斷第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)是否占滿第一數(shù)據(jù)緩沖區(qū),若是,則將第一數(shù)據(jù)緩沖區(qū)中的音頻數(shù)據(jù)寫入聲音輸出設(shè)備;
或者,
判斷第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)中是否包含截止標(biāo)識(shí),若是,則將第一數(shù)據(jù)緩沖區(qū)中的音頻數(shù)據(jù)寫入聲音輸出設(shè)備。
其中,上述的截止標(biāo)識(shí)用于標(biāo)識(shí)麥克風(fēng)已采集完檢測(cè)所用的音頻數(shù)據(jù)。
可選的,終端包括至少兩個(gè)數(shù)據(jù)緩沖區(qū);
上述的采集模塊11在將第一數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備的同時(shí),還用于控制麥克風(fēng)13繼續(xù)采集檢測(cè)所用的音頻數(shù)據(jù),將采集到的音頻數(shù)據(jù)存儲(chǔ)至第二數(shù)據(jù)緩沖區(qū)。
其中,上述的第二數(shù)據(jù)緩沖區(qū)為至少兩個(gè)數(shù)據(jù)緩沖區(qū)中當(dāng)前空閑的數(shù)據(jù)緩沖區(qū)。
可選的,上述的寫入模塊12還用于:
判斷第二數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)是否占滿第二數(shù)據(jù)緩沖區(qū),若是,則將第二數(shù)據(jù)緩沖區(qū)中的音頻數(shù)據(jù)寫入聲音輸出設(shè)備;
或者,
判斷第二數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)中是否包含截止標(biāo)識(shí),若是,則將第二數(shù)據(jù)緩沖區(qū)中的音頻數(shù)據(jù)寫入聲音輸出設(shè)備。
可選的,終端包括至少兩個(gè)麥克風(fēng)13,每個(gè)麥克風(fēng)13具有一個(gè)標(biāo)識(shí)信息;采集模塊11控制麥克風(fēng)13采集檢測(cè)所用的音頻數(shù)據(jù),包括:
獲取待檢測(cè)麥克風(fēng)13的標(biāo)識(shí)信息,根據(jù)標(biāo)志信息控制待檢測(cè)麥克風(fēng)13采集檢測(cè)所用的音頻數(shù)據(jù)。
本發(fā)明實(shí)施例提供的終端,通過控制麥克風(fēng)采集檢測(cè)所用的所占存儲(chǔ)空間為第一閾值N的音頻數(shù)據(jù),并將采集到的音頻數(shù)據(jù)存儲(chǔ)至存儲(chǔ)空間為第二閾值M的數(shù)據(jù)緩沖區(qū),然后將數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備以便聲音輸出設(shè)備進(jìn)行播放,再重復(fù)對(duì)檢測(cè)所用的音頻數(shù)據(jù)的采集和存儲(chǔ),直至麥克風(fēng)采集完檢測(cè)所用的音頻數(shù)據(jù)。由于本方案中數(shù)據(jù)緩沖區(qū)的存儲(chǔ)空間小于麥克風(fēng)采集檢測(cè)所用的所占存儲(chǔ)空間,即M小于N,這樣當(dāng)麥克風(fēng)持續(xù)的將采集到的音頻數(shù)據(jù)存儲(chǔ)至該數(shù)據(jù)緩沖區(qū)中時(shí),由于數(shù)據(jù)緩沖區(qū)會(huì)在該數(shù)據(jù)緩沖區(qū)存滿時(shí)將該數(shù)據(jù)緩沖區(qū)中存儲(chǔ)的音頻數(shù)據(jù)寫入聲音輸出設(shè)備,從而使得該終端可以實(shí)現(xiàn)邊錄邊播這種工檢方式,相比于現(xiàn)有技術(shù)時(shí)通過將檢測(cè)所用的所占存儲(chǔ)空間為N的音頻數(shù)據(jù)全部存儲(chǔ)至存儲(chǔ)器后,再輸出至聲音輸出設(shè)備,使得麥克風(fēng)在執(zhí)行錄播該段音源的時(shí)間為麥克風(fēng)采集該段音源所用時(shí)間的兩倍,本方案明顯縮短了麥克風(fēng)的檢測(cè)時(shí)間,從而能夠有效的縮短終端的工檢時(shí)間,提高了檢測(cè)效率。
需要說明的是,在具體實(shí)現(xiàn)過程中,上述如圖2所示的方法流程中的各步驟均可以通過硬件形式的處理器執(zhí)行存儲(chǔ)器中存儲(chǔ)的軟件形式的計(jì)算機(jī)執(zhí)行指令實(shí)現(xiàn),為避免重復(fù),此處不再贅述。而上述終端的處理單元所執(zhí)行的動(dòng)作所對(duì)應(yīng)的程序均可以以軟件形式存儲(chǔ)于該終端的存儲(chǔ)單元中,以便于處理單元調(diào)用執(zhí)行以上各個(gè)單元對(duì)應(yīng)的操作。
上文中的存儲(chǔ)單元可以為存儲(chǔ)器,具體的,存儲(chǔ)器可以包括易失性存儲(chǔ)器(volatile memory),例如隨機(jī)存取存儲(chǔ)器(random-access memory,RAM);也可以包括非易失性存儲(chǔ)器(non-volatile memory),例如只讀存儲(chǔ)器(read-only memory,ROM),快閃存儲(chǔ)器(flash memory),硬盤(hard disk drive,HDD)或固態(tài)硬盤(solid-state drive,SSD);還可以包括上述種類的存儲(chǔ)器的組合。
上文所提供的終端中的處理單元可以是一個(gè)處理器,也可以是多個(gè)處理元件的統(tǒng)稱。例如,處理器可以為中央處理器(central processing unit,CPU;也可以為其他通用處理器、數(shù)字信號(hào)處理器(digital signal processing,DSP)、專用集成電路(application specific integrated circuit,ASIC)、現(xiàn)場(chǎng)可編程門陣列(field-programmable gate array,F(xiàn)PGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等;還可以為專用處理器,該專用處理器可以包括基帶處理芯片、射頻處理芯片等中的至少一個(gè)。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的裝置和模塊的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的終端和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的終端實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,終端或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理包括,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。