本發(fā)明涉及智能硬件設(shè)備領(lǐng)域,特別是快速識(shí)別USB設(shè)備存儲(chǔ)的媒體文件的方法。
背景技術(shù):
目前,在家庭的客廳中,電視機(jī)一直是客廳必不可少的家電,電視一般與有線電視信號(hào)連接,主要用于播放電視資源,也可以連接DVD、筆記本等等播放設(shè)備,用于點(diǎn)播用戶喜好的視頻資源、而隨著無線通訊技術(shù)和智能家居的發(fā)展,用戶可以通過移動(dòng)智能設(shè)備等終端對(duì)家庭中的智能終端智能硬件設(shè)備進(jìn)行交互?,F(xiàn)在智能硬件設(shè)備上觀看移動(dòng)終端上傳的媒體文件越來越普遍,但是媒體文件上傳到智能硬件設(shè)備的速度是很慢的。
除了上述問題,智能硬件設(shè)備在讀取到外置存儲(chǔ)設(shè)備中的視頻文件時(shí),由于智能硬件設(shè)備交互能力較差,需要用戶進(jìn)行反復(fù)操作才能尋找到存儲(chǔ)視頻文件信息,因此,必須在智能硬件設(shè)備讀取移動(dòng)硬盤中的文件,在數(shù)據(jù)導(dǎo)入時(shí)進(jìn)行優(yōu)化,以提高用戶體驗(yàn)。當(dāng)USB設(shè)備,容量較大,存儲(chǔ)的媒體文件過多時(shí),必然會(huì)消耗更多的系統(tǒng)資源以及時(shí)間去掃描USB設(shè)備中的媒體文件。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)上述現(xiàn)有技術(shù)中存在的問題,提供一種快速識(shí)別USB設(shè)備存儲(chǔ)的媒體文件的方法,是通過以下技術(shù)特征實(shí)現(xiàn)的,包括如下步驟。
步驟1: 監(jiān)聽智能設(shè)備的USB接口連接及斷開事件;
步驟2: 當(dāng)檢測(cè)到智能設(shè)備的USB接口有其他設(shè)備接入時(shí),獲取所述設(shè)備在智能設(shè)備系統(tǒng)中的目錄、容量、名稱信息;
步驟3:在智能設(shè)備的界面中顯示接入的所述設(shè)備信息,并消息提示用戶有設(shè)備接入;
步驟4:智能設(shè)備開啟后臺(tái)線程掃描該設(shè)備目錄下所有的媒體文件,通過獲取文件的媒體信息來判斷文件的種類,所述文件的種類包括相片、視頻、音頻;
在步驟4中,掃描到媒體文件時(shí),將該媒體文件的路徑存儲(chǔ)在智能設(shè)備的內(nèi)存中。并通知智能設(shè)備的UI線程進(jìn)行內(nèi)容更新。
步驟5:當(dāng)智能設(shè)備的UI線程接收到有內(nèi)容更新時(shí),讀取內(nèi)存中的媒體文件路徑信息,然后在智能設(shè)備的界面中展示所述路徑信息下的媒體文件。
本發(fā)明的優(yōu)點(diǎn)在于使用本方法能達(dá)到占用較少的系統(tǒng)資源,以及使用較短的時(shí)間,迅速獲取USB設(shè)備存儲(chǔ)的媒體文件,并且給智能設(shè)備的使用者一個(gè)良好的用戶體驗(yàn)。從用戶接入U(xiǎn)SB設(shè)備到智能設(shè)備給出反饋只需短短幾秒鐘。
附圖說明
圖1是本發(fā)明的快速識(shí)別USB設(shè)備存儲(chǔ)的媒體文件的方法的流程框圖。
圖2是圖1的具體實(shí)施例中的方法流程框圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明,但是本發(fā)明可以由權(quán)利要求限定和覆蓋的多種不同方式實(shí)施。
如圖1所示,圖1是快速識(shí)別USB設(shè)備存儲(chǔ)的媒體文件的方法的流程框圖,在本發(fā)明中,特別是一種智能設(shè)備,,實(shí)現(xiàn)上述技術(shù)方案需做到以下步驟:
S1: 監(jiān)聽智能設(shè)備的USB接口連接及斷開事件;
S2: 當(dāng)檢測(cè)到智能設(shè)備的USB接口有其他設(shè)備接入時(shí),獲取所述設(shè)備在智能設(shè)備系統(tǒng)中的目錄、容量、名稱信息;
S3:在智能設(shè)備的界面中顯示接入的所述設(shè)備信息,并消息提示用戶有設(shè)備接入;
S4:智能設(shè)備開啟后臺(tái)線程掃描該設(shè)備目錄下所有的媒體文件,通過獲取文件的媒體信息來判斷文件的種類;
S5:當(dāng)智能設(shè)備的UI線程接收到有內(nèi)容更新時(shí),讀取內(nèi)存中的媒體文件路徑信息,然后在智能設(shè)備的界面中展示所述路徑信息下的媒體文件。
以Android操作系統(tǒng)的智能硬件設(shè)備為例:
步驟1:注冊(cè)Android系統(tǒng)的USB接入廣播以及USB移除廣播,用于監(jiān)聽USB的插入以及移除。
步驟2:監(jiān)聽到有USB接入時(shí),獲取該USB設(shè)備在智能設(shè)備系統(tǒng)中的目錄、容量、名稱等信息,在智能設(shè)備的界面中進(jìn)行提示有USB設(shè)備接入,然后進(jìn)行后面的步驟。
如果是監(jiān)聽到有USB移除時(shí),通過對(duì)比判斷移除的USB設(shè)備的路徑,然后終止相應(yīng)的媒體掃描動(dòng)作。并可根據(jù)業(yè)務(wù)需要在界面上進(jìn)行提示USB設(shè)備被移除。
步驟3:在智能設(shè)備的界面中顯示接入的USB設(shè)備名稱,容量等信息,提示用戶有USB設(shè)備接入,并顯示該USB設(shè)備的相關(guān)信息。
步驟4:開啟后臺(tái)線程掃描該USB目錄下所有的文件,通過比對(duì)文件的后綴名來判斷該文件是屬于哪一種媒體文件(相片、視頻、音頻)。
步驟5:通過比對(duì)文件的后綴名篩選出來的相片、視頻、音頻,并不準(zhǔn)確,因?yàn)楹缶Y名是可以修改的。所以還需要進(jìn)一步的進(jìn)行判斷。
在步驟5中,包括判斷是否是相片的方法:
例:Bitmap bitmap = BitmapFactory.decodeFile(pathName),使用這個(gè)方法對(duì)該文件進(jìn)行解碼。pathName傳入文件的絕對(duì)路徑。
判斷bitmap是否等于空,如果等于空,表示該文件不是相片。如果不為空,表示該文件是相片。
在步驟5中,判斷是否是視頻或者音頻的方法:
例:MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(pathName);
StringhasVideo=retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_HAS_VIDEO);
StringhasAudio=etriever.extractMetadat(MediaMetadataRetriever.METADATA_KEY_HAS_AUDIO);
pathName傳入文件的絕對(duì)路徑;
如果hasVideo不為空,那么則表示該文件為視頻類型的文件;
如果hasVideo為空,hasAudio不為空,則表示該文件為音頻類型的文件。
步驟6:在后臺(tái)線程遍歷USB設(shè)備中的文件,通過上述步驟判斷出該文件為媒體文件時(shí),即可通過Android系統(tǒng)的Handler機(jī)制,將該文件的路徑,以及對(duì)應(yīng)的媒體信息發(fā)送到UI線程中,UI線程接收到文件的媒體信息時(shí),根據(jù)不同的媒體類型,選擇對(duì)應(yīng)的解碼方式解碼后在界面中進(jìn)行顯示。
以上僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。