亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種錄制流媒體文件的方法及相應(yīng)的設(shè)備的制作方法

文檔序號:7900023閱讀:228來源:國知局
專利名稱:一種錄制流媒體文件的方法及相應(yīng)的設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別是涉及一種錄制流媒體文件的方法及相應(yīng)的設(shè)備。
背景技術(shù)
收聽收看實(shí)時(shí)的流媒體文件,例如FM電臺(tái)、移動(dòng)終端電視,已經(jīng)逐漸成為手機(jī)必不可少的功能之一。用戶在收聽收看流媒體文件時(shí),經(jīng)常會(huì)聽到看到一些以前沒有接觸過的流媒體文件,希望能夠保存下來。但等到想保存時(shí)已經(jīng)為時(shí)已晚,想保存的音頻或視頻已經(jīng)結(jié)束了。錄制流媒體文件的原理是對模擬信號進(jìn)行抽樣、量化和編碼后得到可以記錄下來的數(shù)字信息流,比如用文本編輯器UltraEdit打開一個(gè)流媒體文件所看到的二進(jìn)制編碼?,F(xiàn)有技術(shù)中,對流媒體文件的錄制一般是這樣實(shí)現(xiàn)的首先簡單介紹一下流媒體文件的格式,如圖1所示,流媒體文件包含一個(gè)頭文件, 其中,頭文件記錄了文件格式、長度、播放速度等等流媒體文件的基本信息,在頭文件后面就是一幀一幀的幀數(shù)據(jù)了。在錄制流媒體文件時(shí),錄制設(shè)備將獲取的幀數(shù)據(jù)依次保存到頭文件的后面,一直到最后一幀數(shù)據(jù)。如果利用現(xiàn)有的錄制技術(shù),對移動(dòng)終端的內(nèi)存要求非常高,這無疑增加了用戶成本,并且如果因?yàn)殇浿屏髅襟w文件而使得移動(dòng)終端耗內(nèi)存過多,會(huì)導(dǎo)致移動(dòng)終端內(nèi)存不足而影響其它模塊的正常運(yùn)行,這也是得不償失的。那么,如何使用戶能夠一邊收聽收看實(shí)時(shí)的媒體文件,一邊錄制該媒體文件,但又不會(huì)使移動(dòng)終端因?yàn)閮?nèi)存的不足而影響其它模塊的正常運(yùn)行,從而解決用戶能夠根據(jù)需要保存媒體文件的問題,提高用戶體驗(yàn)度,是亟待解決的問題。

發(fā)明內(nèi)容
本發(fā)明主要解決的技術(shù)問題是提供一種錄制流媒體文件的方法及相應(yīng)的設(shè)備, 使用戶能夠一邊收聽收看實(shí)時(shí)的媒體文件,一邊錄制該媒體文件,但又不會(huì)使移動(dòng)終端因?yàn)閮?nèi)存的不足而影響其它模塊的正常運(yùn)行,從而解決用戶能夠根據(jù)需要保存媒體文件的問題。一種錄制流媒體文件的方法,包括獲取流媒體的幀數(shù)據(jù);判斷該獲取的幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)是否保存在第一媒體文件的末尾,其中,第一媒體文件預(yù)先設(shè)置為固定大?。蝗粼搸瑪?shù)據(jù)的上一個(gè)幀數(shù)據(jù)保存在預(yù)先設(shè)置的第一媒體文件的末尾,則將該幀數(shù)據(jù)保存到第一媒體文件中第一個(gè)幀數(shù)據(jù)的位置,若該幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)不是保存在預(yù)先設(shè)置的第一媒體文件的末尾,則將該幀數(shù)據(jù)保存在該幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)之后的位置;繼續(xù)獲取下一個(gè)幀數(shù)據(jù),并判斷該下一個(gè)幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)是否保存在預(yù)先設(shè)置的第一媒體文件的末尾,直至停止獲取所述流媒體的幀數(shù)據(jù)或者直至獲取到所述流媒體的最后一個(gè)幀數(shù)據(jù)。進(jìn)一步的,本方法還包括當(dāng)停止獲取流媒體的幀數(shù)據(jù)或者獲取到流媒體的最后一個(gè)幀數(shù)據(jù)后,對第一媒體文件進(jìn)行剪輯以生成第二媒體文件;保存該第二媒體文件。進(jìn)一步的,在將幀數(shù)據(jù)保存到第一媒體文件中第一個(gè)幀數(shù)據(jù)的位置的步驟包括先將第一個(gè)幀數(shù)據(jù)刪除,然后寫該幀數(shù)據(jù);或者,用該幀數(shù)據(jù)覆蓋所述第一媒體文件中的第一個(gè)幀數(shù)據(jù)。進(jìn)一步的,當(dāng)停止獲取流媒體的幀數(shù)據(jù)或者獲取到流媒體的最后一個(gè)幀數(shù)據(jù)后, 對第一媒體文件進(jìn)行剪輯以生成第二媒體文件的步驟包括接收用戶輸入的結(jié)束錄制指令并停止對媒體流的幀數(shù)據(jù)的獲?。唤邮沼脩糨斎氲募糨嬛噶?,并對第一媒體文件中的幀數(shù)據(jù)按照保存的先后順序?qū)Λ@取的幀數(shù)據(jù)進(jìn)行剪輯從而生成第二媒體文件。進(jìn)一步的,對第一媒體文件中的幀數(shù)據(jù)按照保存的先后順序?qū)Λ@取的幀數(shù)據(jù)進(jìn)行剪輯從而生成第二媒體文件的步驟包括依據(jù)獲取的幀數(shù)據(jù)的排列順序播放第一媒體文件;接收用戶輸入的起始幀數(shù)據(jù)確認(rèn)指令和結(jié)尾幀數(shù)據(jù)確認(rèn)指令;根據(jù)起始幀數(shù)據(jù)確認(rèn)指令和結(jié)尾幀數(shù)據(jù)確認(rèn)指令確認(rèn)相應(yīng)的起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù),并根據(jù)起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù)生成頭文件;根據(jù)頭文件以及起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù)生成第二媒體文件。進(jìn)一步的,在獲取流媒體的幀數(shù)據(jù)的步驟之后還包括若所述幀數(shù)據(jù)為從流媒體獲取的第一個(gè)幀數(shù)據(jù),則重新記錄所述第一媒體的頭文件。一種錄制流媒體文件的設(shè)備,包括獲取模塊,用于當(dāng)收聽或者收看實(shí)時(shí)的流媒體文件,且本設(shè)備的預(yù)錄功能開啟時(shí), 獲取流媒體的幀數(shù)據(jù);判斷模塊,用于判斷該幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)是否保存在預(yù)先設(shè)置的第一媒體文件的末尾,其中,第一媒體文件預(yù)先設(shè)置為固定大?。坏谝槐4婺K,用于當(dāng)該幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)保存在預(yù)先設(shè)置的第一媒體文件的末尾時(shí),將該幀數(shù)據(jù)保存到所述第一媒體文件中第一個(gè)幀數(shù)據(jù)的位置,當(dāng)該幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)不是保存在預(yù)先設(shè)置的第一媒體文件的末尾時(shí),將該幀數(shù)據(jù)保存在所述上一個(gè)幀數(shù)據(jù)之后的位置。進(jìn)一步的,本設(shè)備還包括剪輯模塊,用于當(dāng)停止獲取流媒體的幀數(shù)據(jù)或者獲取到流媒體的最后一個(gè)幀數(shù)據(jù)后,對第一媒體文件進(jìn)行剪輯以生成第二媒體文件;第二保存模塊,用于保存剪輯模塊剪輯完成后的第二媒體文件。進(jìn)一步的,剪輯模塊包括第一接收單元,用于接收用戶輸入的結(jié)束錄制指令以及剪輯指令;
播放單元,用于當(dāng)?shù)谝唤邮諉卧邮沼脩糨斎氲慕Y(jié)束錄制指令以及剪輯指令后, 依據(jù)獲取的幀數(shù)據(jù)的排列順序播放所述第一媒體文件;第二接收單元,用于接收用戶輸入的起始幀數(shù)據(jù)確認(rèn)指令和結(jié)尾幀數(shù)據(jù)確認(rèn)指令;剪輯單元,用于根據(jù)所述第二接收單元接收的起始幀數(shù)據(jù)確認(rèn)指令和結(jié)尾幀數(shù)據(jù)確認(rèn)指令確認(rèn)相應(yīng)的起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù),并根據(jù)起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù)生成頭文件;第二媒體文件生成單元,用于根據(jù)剪輯單元生成的頭文件以及起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù)生成第二媒體文件。進(jìn)一步的,本設(shè)備還包括頭文件記錄模塊,用于當(dāng)該獲取的幀數(shù)據(jù)為從流媒體獲取的第一個(gè)幀數(shù)據(jù)時(shí),重新記錄第一媒體的頭文件。在本發(fā)明提供的方法中,通過在本地預(yù)設(shè)一個(gè)固定大小的第一媒體文件,然后將獲取的幀數(shù)據(jù)循環(huán)保存到該第一媒體文件;實(shí)現(xiàn)了使用戶能夠一邊收聽收看實(shí)時(shí)的媒體文件,一邊錄制該媒體文件,但又不會(huì)使移動(dòng)終端因?yàn)閮?nèi)存的不足而影響其它模塊的正常運(yùn)行,從而解決用戶能夠根據(jù)需要保存媒體文件的問題,提高用戶體驗(yàn)度。


圖1是流媒體文件格式示意圖;圖2是本發(fā)明錄制流媒體文件的方法的數(shù)據(jù)流程圖;圖3是本發(fā)明錄制流媒體文件的方法一優(yōu)選實(shí)施例的數(shù)據(jù)流程圖;圖4是本發(fā)明錄制流媒體文件的方法優(yōu)選實(shí)施例中第1個(gè)幀數(shù)據(jù)存放示意圖;圖5是本發(fā)明錄制流媒體文件的方法優(yōu)選實(shí)施例中第n+1個(gè)幀數(shù)據(jù)存放示意圖;圖6是本發(fā)明錄制流媒體文件的設(shè)備實(shí)施例的邏輯結(jié)構(gòu)示意圖。
具體實(shí)施例方式參閱圖2,本發(fā)明錄制流媒體文件的方法的實(shí)施例包括201、當(dāng)收聽或者收看實(shí)時(shí)的流媒體文件,且本設(shè)備的預(yù)錄功能開啟時(shí),獲取流媒體的幀數(shù)據(jù);202、判斷所獲取的幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)是否保存在第一媒體文件的末尾,其中,第一媒體文件預(yù)先設(shè)置為固定大??;203、若該幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)保存在預(yù)先設(shè)置的第一媒體文件的末尾,則將所述幀數(shù)據(jù)保存到所述第一媒體文件中第一個(gè)幀數(shù)據(jù)的位置;若該幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)保存在預(yù)先設(shè)置的第一媒體文件的末尾,則將獲取的幀數(shù)據(jù)保存到第一媒體文件中第一個(gè)幀數(shù)據(jù)的位置,然后繼續(xù)獲取下一個(gè)幀數(shù)據(jù),并判斷上一個(gè)幀數(shù)據(jù)是否保存在預(yù)先設(shè)置的第一媒體文件的末尾,直至停止獲取流媒體的幀數(shù)據(jù)或者直至獲取到流媒體的最后一個(gè)幀數(shù)據(jù);204、若該幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)不是保存在預(yù)先設(shè)置的第一媒體文件的末尾,則將該幀數(shù)據(jù)保存在該上一個(gè)幀數(shù)據(jù)之后的位置;若該幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)不是保存在預(yù)先設(shè)置的第一媒體文件的末尾,則將獲取的幀數(shù)據(jù)保存在該幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)之后的位置,然后繼續(xù)獲取下一個(gè)幀數(shù)據(jù),并判斷上一個(gè)幀數(shù)據(jù)是否保存在預(yù)先設(shè)置的第一媒體文件的末尾,直至停止獲取流媒體的幀數(shù)據(jù)或者直至獲取到流媒體的最后一個(gè)幀數(shù)據(jù);205、判斷是否停止獲取流媒體的幀數(shù)據(jù)或者直至獲取到流媒體的最后一個(gè)幀數(shù)據(jù);判斷是否停止獲取流媒體的幀數(shù)據(jù)或者直至獲取到流媒體的最后一個(gè)幀數(shù)據(jù),如果是,則結(jié)束流程;如果否,則繼續(xù)執(zhí)行步驟201,獲取下一個(gè)幀數(shù)據(jù);在本實(shí)施例中,通過在本地預(yù)設(shè)一個(gè)固定大小的第一媒體文件,然后將獲取的幀數(shù)據(jù)循環(huán)保存到該第一媒體文件;實(shí)現(xiàn)了使用戶能夠一邊收聽收看實(shí)時(shí)的媒體文件,一邊錄制該媒體文件,但又不會(huì)使移動(dòng)終端因?yàn)閮?nèi)存的不足而影響其它模塊的正常運(yùn)行,從而解決用戶能夠根據(jù)需要保存媒體文件的問題,提高用戶體驗(yàn)度。在錄制好第一媒體文件后,用戶可以重復(fù)聽看第一媒體文件,但是第一媒體文件中的數(shù)據(jù)不一定都是用戶所需要的,為了解決這個(gè)問題,本發(fā)明通過對第一媒體文件進(jìn)行剪輯得到用戶需要的第二媒體文件;下面請參閱圖3進(jìn)行詳細(xì)說明,本發(fā)明錄制流媒體文件的方法的優(yōu)選實(shí)施例包括301、當(dāng)用戶收聽或者收看實(shí)時(shí)的流媒體文件時(shí),判斷本設(shè)備的預(yù)錄功能是否開啟;在本設(shè)備中預(yù)先設(shè)置一項(xiàng)預(yù)錄功能,可以在本設(shè)備的文件系統(tǒng)中預(yù)先設(shè)置一個(gè)專門用于記錄手機(jī)狀態(tài)變量的文件,在文件中設(shè)置一個(gè)標(biāo)識(shí)變量,該標(biāo)識(shí)變量用來記錄預(yù)錄功能是否開啟,例如,在文件系統(tǒng)中預(yù)先設(shè)置一個(gè)file, txt文件,并在file, txt文件中設(shè)置一個(gè)標(biāo)識(shí)變量flag,當(dāng)flag為1時(shí),設(shè)備的預(yù)錄功能開啟,當(dāng)flag為0時(shí),設(shè)備的預(yù)錄功能關(guān)閉;當(dāng)然,在本設(shè)備中預(yù)先設(shè)置一項(xiàng)預(yù)錄功能也可以通過在功能項(xiàng)中新增預(yù)錄功能來實(shí)現(xiàn),此處不做限制;當(dāng)用戶收聽或者收看實(shí)時(shí)的流媒體文件時(shí),判斷本設(shè)備的預(yù)錄功能是否開啟,例如可以通過讀file, txt文件中的flag來判斷,如果本設(shè)備的預(yù)錄功能開啟,則重新記錄第一媒體文件的頭文件,然后繼續(xù)執(zhí)行步驟302,如果本設(shè)備的預(yù)錄功能沒有開啟,則結(jié)束流程;302、獲取流媒體的第一個(gè)幀數(shù)據(jù);當(dāng)步驟301中判斷出本設(shè)備的預(yù)錄功能開啟后,獲取流媒體的幀數(shù)據(jù);303、將獲取的第一個(gè)幀數(shù)據(jù)保存到第一媒體文件的頭文件之后的位置;因?yàn)樵诿恳淮伍_始錄制第一媒體文件時(shí),都需要重新記錄第一媒體文件的頭文件,獲取的第一個(gè)幀數(shù)據(jù)直接跳過頭文件,記錄在頭文件之后的位置;304、獲取流媒體的下一個(gè)幀數(shù)據(jù);305、判斷上一個(gè)幀數(shù)據(jù)是否保存在第一媒體文件的末尾;在獲取了下一個(gè)幀數(shù)據(jù)后,判斷該獲取的幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)是否保存在第一媒體文件的末尾,即是否第一媒體文件已經(jīng)存滿,如果上一個(gè)幀數(shù)據(jù)保存在第一媒體文件的末尾,則執(zhí)行步驟306,如果上一個(gè)幀數(shù)據(jù)沒有保存在第一媒體文件的末尾,則執(zhí)行步驟 307 ;306、將幀數(shù)據(jù)保存到第一媒體文件中第一個(gè)幀數(shù)據(jù)的位置;
則將獲取到的幀數(shù)據(jù)保存到第一媒體文件中第1個(gè)幀數(shù)據(jù)的位置,具體的,可以直接將原有的第1個(gè)幀數(shù)據(jù)的位置的幀數(shù)據(jù)覆蓋,也可以先將原有的第一個(gè)幀數(shù)據(jù)的位置的幀數(shù)據(jù)刪除,然后再將獲取到的幀數(shù)據(jù)寫到第一個(gè)幀數(shù)據(jù)的位置,此處不做限制;以圖5為例進(jìn)行具體說明,例如在第一媒體文件中可以存儲(chǔ)η個(gè)幀數(shù)據(jù),如果η個(gè)幀數(shù)據(jù)已經(jīng)存滿,那么將新獲取的第η+1個(gè)幀數(shù)據(jù)保存到第一媒體文件中第1個(gè)幀數(shù)據(jù)的位置;307、將幀數(shù)據(jù)保存在上一個(gè)幀數(shù)據(jù)之后的位置;如果步驟305中判斷出上一個(gè)幀數(shù)據(jù)沒有保存在第一媒體文件的末尾,那么,將獲取的幀數(shù)據(jù)保存到上一個(gè)幀數(shù)據(jù)之后的位置,具體的,如果上一個(gè)幀數(shù)據(jù)之后的位置是空的,則直接寫入獲取的幀數(shù)據(jù),如果上一個(gè)幀數(shù)據(jù)之后的位置不是空的,則可以用獲取的幀數(shù)據(jù)直接將上一個(gè)幀數(shù)據(jù)之后的位置的幀數(shù)據(jù)覆蓋,也可以先將上一個(gè)幀數(shù)據(jù)之后的位置的幀數(shù)據(jù)刪除,然后再將獲取到的幀數(shù)據(jù)寫入,此處不做限制;308、判斷是否停止獲取流媒體的幀數(shù)據(jù)或者是否獲取完流媒體的幀數(shù)據(jù);如果用戶輸入停止獲取的指令或者已經(jīng)獲取完流媒體的幀數(shù)據(jù),則執(zhí)行步驟309, 如果沒有收到用戶輸入的停止獲取的指令,也沒有獲取完流媒體的幀數(shù)據(jù),則返回步驟304 繼續(xù)獲取下一個(gè)幀數(shù)據(jù);309、接收用戶輸入的剪輯指令;如果步驟308中判斷出用戶輸入停止獲取的指令或者已經(jīng)獲取完流媒體的幀數(shù)據(jù),認(rèn)為用戶想錄制的媒體文件已經(jīng)錄制完畢,因?yàn)殇浿频牡谝幻襟w文件的幀數(shù)據(jù)播放順序不一定是按照獲取幀數(shù)據(jù)的時(shí)間先后播放的,如圖5所示,首先播放第η+1個(gè)幀數(shù)據(jù),然后播放第2個(gè)幀數(shù)據(jù)、第三個(gè)幀數(shù)據(jù)等等,而正確的播放順序是先播放第1個(gè)幀數(shù)據(jù),再播
放第2個(gè)幀數(shù)據(jù)......后播放第η+1個(gè)幀數(shù)據(jù),那么如何將完整的媒體文件呈現(xiàn)給用戶
呢,這時(shí)就需要對第一媒體文件進(jìn)行剪輯;首先接收用戶輸入的剪輯指令,指示需要對第一媒體文件進(jìn)行剪輯;310、依據(jù)幀數(shù)據(jù)的排列順序播放第一媒體文件;311、接收用戶輸入的起始幀數(shù)據(jù)確認(rèn)指令和結(jié)尾幀數(shù)據(jù)確認(rèn)指令;當(dāng)播放到某一幀時(shí),用戶可以通過鍵盤或者其他裝置輸入起始幀數(shù)據(jù)確認(rèn)指令, 或者結(jié)尾幀數(shù)據(jù)確認(rèn)指令;312、根據(jù)起始幀數(shù)據(jù)確認(rèn)指令和結(jié)尾幀數(shù)據(jù)確認(rèn)指令確認(rèn)相應(yīng)的起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù),并根據(jù)起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù)生成頭文件;設(shè)備根據(jù)起始幀數(shù)據(jù)確認(rèn)指令和結(jié)尾幀數(shù)據(jù)確認(rèn)指令確定對應(yīng)的起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù);再根據(jù)起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù)確定文件長度,再生成頭文件;313、根據(jù)頭文件以及起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù)生成第二媒體文件,并另存該第二媒體文件;在剪輯完第一媒體文件后,可以將第一媒體文件中的幀數(shù)據(jù)刪除,也可以保留,此處不做限制;在本實(shí)施例中,只要能達(dá)到本發(fā)明的目的,各個(gè)步驟的先后順序根據(jù)具體的設(shè)計(jì)可以改動(dòng),此處不做限制;在本實(shí)施例中,通過在本地預(yù)設(shè)一個(gè)固定大小的第一媒體文件,然后將獲取的幀數(shù)據(jù)循環(huán)保存到該第一媒體文件,錄制完第一媒體文件后,再根據(jù)用戶的需要對第一媒體文件進(jìn)行剪輯,生成用戶需要的第二媒體文件;實(shí)現(xiàn)了使用戶能夠一邊收聽收看實(shí)時(shí)的媒體文件,一邊錄制該媒體文件,但又不會(huì)使移動(dòng)終端因?yàn)閮?nèi)存的不足而影響其它模塊的正常運(yùn)行,從而解決用戶能夠根據(jù)需要保存媒體文件的問題,提高用戶體驗(yàn)度。請參閱圖6,本發(fā)明錄制流媒體文件的設(shè)備的實(shí)施例包括獲取模塊601,用于當(dāng)收聽或者收看實(shí)時(shí)的流媒體文件,且本設(shè)備的預(yù)錄功能開啟時(shí),獲取流媒體的幀數(shù)據(jù);判斷模塊602,用于判斷上一個(gè)幀數(shù)據(jù)是否保存在預(yù)先設(shè)置的第一媒體文件的末尾,其中,第一媒體文件預(yù)先設(shè)置為固定大?。坏谝槐4婺K603,用于當(dāng)判斷模塊602判斷出上一個(gè)幀數(shù)據(jù)保存在預(yù)先設(shè)置的第一媒體文件的末尾時(shí),將幀數(shù)據(jù)保存到第一媒體文件中第一個(gè)幀數(shù)據(jù)的位置,然后獲取模塊601繼續(xù)獲取下一個(gè)幀數(shù)據(jù),并再由判斷模塊602判斷上一個(gè)幀數(shù)據(jù)是否保存在預(yù)先設(shè)置的第一媒體文件的末尾,直至停止獲取流媒體的幀數(shù)據(jù)或者直至獲取到流媒體的最后一個(gè)幀數(shù)據(jù);進(jìn)一步的,本實(shí)施例中的設(shè)備還包括剪輯模塊604,用于當(dāng)停止獲取流媒體的幀數(shù)據(jù)或者獲取到流媒體的最后一個(gè)幀數(shù)據(jù)后,對第一媒體文件進(jìn)行剪輯以生成第二媒體文件;第二保存模塊605,用于保存剪輯模塊604剪輯完成后的第二媒體文件。進(jìn)一步的,第一保存模塊603還用于當(dāng)判斷模塊602判斷出上一個(gè)幀數(shù)據(jù)不是保存在預(yù)先設(shè)置的第一媒體文件的末尾時(shí),將幀數(shù)據(jù)保存在該上一個(gè)幀數(shù)據(jù)之后的位置,然后獲取模塊601繼續(xù)獲取下一個(gè)幀數(shù)據(jù),并再由判斷模塊602判斷上一個(gè)幀數(shù)據(jù)是否保存在預(yù)先設(shè)置的第一媒體文件的末尾,直至停止獲取流媒體的幀數(shù)據(jù)或者直至獲取到流媒體的最后一個(gè)幀數(shù)據(jù);進(jìn)一步的,剪輯模塊604包括第一接收單元,用于接收用戶輸入的結(jié)束錄制指令以及剪輯指令;播放單元,用于當(dāng)?shù)谝唤邮諉卧邮沼脩糨斎氲慕Y(jié)束錄制指令以及剪輯指令后, 依據(jù)幀數(shù)據(jù)的排列順序播放所述第一媒體文件;第二接收單元,用于接收用戶輸入的起始幀數(shù)據(jù)確認(rèn)指令和結(jié)尾幀數(shù)據(jù)確認(rèn)指令;剪輯單元,用于根據(jù)第二接收單元接收的起始幀數(shù)據(jù)確認(rèn)指令和結(jié)尾幀數(shù)據(jù)確認(rèn)指令確認(rèn)相應(yīng)的起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù),并根據(jù)起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù)生成頭文件;第二媒體文件生成單元,用于根據(jù)剪輯單元生成的頭文件以及起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù)生成第二媒體文件;進(jìn)一步的,本實(shí)施例中的設(shè)備還包括頭文件記錄模塊606,用于當(dāng)獲取模塊601獲取的幀數(shù)據(jù)為從流媒體獲取的第一個(gè)幀數(shù)據(jù)時(shí),重新記錄所述第一媒體的頭文件。在本實(shí)施例中,通過在本地預(yù)設(shè)一個(gè)固定大小的第一媒體文件,然后將獲取的幀數(shù)據(jù)循環(huán)保存到該第一媒體文件,錄制完第一媒體文件后,再根據(jù)用戶的需要對第一媒體文件進(jìn)行剪輯,生成用戶需要的第二媒體文件;實(shí)現(xiàn)了使用戶能夠一邊收聽收看實(shí)時(shí)的媒體文件,一邊錄制該媒體文件,但又不會(huì)使移動(dòng)終端因?yàn)閮?nèi)存的不足而影響其它模塊的正常運(yùn)行,從而解決用戶能夠根據(jù)需要保存媒體文件的問題,提高用戶體驗(yàn)度。
以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種錄制流媒體文件的方法,其特征在于,包括 獲取流媒體的幀數(shù)據(jù);判斷所獲取的所述幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)是否保存在所述第一媒體文件的末尾,其中,所述第一媒體文件預(yù)先設(shè)置為固定大??;若所述幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)保存在預(yù)先設(shè)置的第一媒體文件的末尾,則將所述幀數(shù)據(jù)保存到所述第一媒體文件中第一個(gè)幀數(shù)據(jù)的位置,若所述幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)不是保存在預(yù)先設(shè)置的第一媒體文件的末尾,則將所述幀數(shù)據(jù)保存在所述上一個(gè)幀數(shù)據(jù)之后的位置;繼續(xù)獲取下一個(gè)幀數(shù)據(jù),并判斷所述下一個(gè)幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)是否保存在預(yù)先設(shè)置的第一媒體文件的末尾,直至停止獲取所述流媒體的幀數(shù)據(jù)或者直至獲取到所述流媒體的最后一個(gè)幀數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括當(dāng)停止獲取流媒體的幀數(shù)據(jù)或者獲取到所述流媒體的最后一個(gè)幀數(shù)據(jù)后,對所述第一媒體文件進(jìn)行剪輯以生成第二媒體文件; 保存所述第二媒體文件。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將幀數(shù)據(jù)保存到所述第一媒體文件中第一個(gè)幀數(shù)據(jù)的位置的步驟包括先將第一個(gè)幀數(shù)據(jù)刪除,然后寫所述幀數(shù)據(jù);或者, 用所述幀數(shù)據(jù)覆蓋所述第一媒體文件中的第一個(gè)幀數(shù)據(jù)。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述當(dāng)停止獲取流媒體的幀數(shù)據(jù)或者獲取到所述流媒體的最后一個(gè)幀數(shù)據(jù)后,對所述第一媒體文件進(jìn)行剪輯以生成第二媒體文件的步驟包括接收用戶輸入的結(jié)束錄制指令并停止對媒體流的幀數(shù)據(jù)的獲取; 接收用戶輸入的剪輯指令,并對所述第一媒體文件中的幀數(shù)據(jù)按照保存的先后順序?qū)λ鰩瑪?shù)據(jù)進(jìn)行剪輯從而生成第二媒體文件。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述對第一媒體文件中的幀數(shù)據(jù)按照保存的先后順序?qū)λ鰩瑪?shù)據(jù)進(jìn)行剪輯從而生成第二媒體文件的步驟包括依據(jù)所述幀數(shù)據(jù)的排列順序播放所述第一媒體文件; 接收用戶輸入的起始幀數(shù)據(jù)確認(rèn)指令和結(jié)尾幀數(shù)據(jù)確認(rèn)指令; 根據(jù)所述起始幀數(shù)據(jù)確認(rèn)指令和結(jié)尾幀數(shù)據(jù)確認(rèn)指令確認(rèn)相應(yīng)的起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù),并根據(jù)所述起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù)生成頭文件;根據(jù)所述頭文件以及所述起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù)生成第二媒體文件。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取流媒體的幀數(shù)據(jù)的步驟之后還包括若所述幀數(shù)據(jù)為從所述流媒體獲取的第一個(gè)幀數(shù)據(jù),則重新記錄所述第一媒體的頭文件。
7.一種錄制流媒體文件的設(shè)備,其特征在于,包括 獲取模塊,用于獲取流媒體的幀數(shù)據(jù);判斷模塊,用于判斷所述幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)是否保存在預(yù)先設(shè)置的第一媒體文件的末尾,所述第一媒體文件預(yù)先設(shè)置為固定大??;第一保存模塊,用于當(dāng)所述幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)保存在預(yù)先設(shè)置的第一媒體文件的末尾時(shí),將所述幀數(shù)據(jù)保存到所述第一媒體文件中第一個(gè)幀數(shù)據(jù)的位置,當(dāng)所述幀數(shù)據(jù)的上一個(gè)幀數(shù)據(jù)不是保存在預(yù)先設(shè)置的第一媒體文件的末尾時(shí),將所述幀數(shù)據(jù)保存在所述上一個(gè)幀數(shù)據(jù)之后的位置。
8.根據(jù)權(quán)利要求7所述的設(shè)備,其特征在于,所述設(shè)備還包括剪輯模塊,用于當(dāng)停止獲取流媒體的幀數(shù)據(jù)或者獲取到所述流媒體的最后一個(gè)幀數(shù)據(jù)后,對所述第一媒體文件進(jìn)行剪輯以生成第二媒體文件;第二保存模塊,用于保存所述剪輯模塊剪輯完成后的第二媒體文件。
9.根據(jù)權(quán)利要求8所述的設(shè)備,其特征在于,所述剪輯模塊包括第一接收單元,用于接收用戶輸入的結(jié)束錄制指令以及剪輯指令;播放單元,用于當(dāng)?shù)谝唤邮諉卧邮沼脩糨斎氲慕Y(jié)束錄制指令以及剪輯指令后,依據(jù)所述幀數(shù)據(jù)的排列順序播放所述第一媒體文件;第二接收單元,用于接收用戶輸入的起始幀數(shù)據(jù)確認(rèn)指令和結(jié)尾幀數(shù)據(jù)確認(rèn)指令;剪輯單元,用于根據(jù)所述第二接收單元接收的起始幀數(shù)據(jù)確認(rèn)指令和結(jié)尾幀數(shù)據(jù)確認(rèn)指令確認(rèn)相應(yīng)的起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù),并根據(jù)所述起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù)生成頭文件;第二媒體文件生成單元,用于根據(jù)所述剪輯單元生成的頭文件以及所述起始幀數(shù)據(jù)和結(jié)尾幀數(shù)據(jù)生成第二媒體文件。
10.根據(jù)權(quán)利要求7所述的設(shè)備,其特征在于,所述設(shè)備還包括頭文件記錄模塊,用于當(dāng)所述幀數(shù)據(jù)為從所述流媒體獲取的第一個(gè)幀數(shù)據(jù)時(shí),重新記錄所述第一媒體的頭文件。
全文摘要
本發(fā)明實(shí)施例公開了一種錄制流媒體文件的方法,還提供了相應(yīng)的設(shè)備。在本發(fā)明實(shí)施例提供的方法中,通過在本地預(yù)設(shè)一個(gè)固定大小的第一媒體文件,然后將獲取的幀數(shù)據(jù)循環(huán)保存到該第一媒體文件;實(shí)現(xiàn)了使用戶能夠一邊收聽收看實(shí)時(shí)的媒體文件,一邊錄制該媒體文件,但又不會(huì)使移動(dòng)終端因?yàn)閮?nèi)存的不足而影響其它模塊的正常運(yùn)行,從而解決用戶能夠根據(jù)需要保存媒體文件的問題,提高用戶體驗(yàn)度。
文檔編號H04N21/25GK102316358SQ20111025931
公開日2012年1月11日 申請日期2011年9月2日 優(yōu)先權(quán)日2011年9月2日
發(fā)明者謝芳 申請人:惠州Tcl移動(dòng)通信有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1