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

視頻拍攝方法及裝置的制造方法

文檔序號:9263658閱讀:558來源:國知局
視頻拍攝方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及多媒體處理領(lǐng)域,特別涉及一種視頻拍攝方法及裝置。
【背景技術(shù)】
[0002]短視頻分享是目前在諸如智能手機(jī)、平板電腦和多媒體播放器等移動終端上非常流行的一種功能。用戶可以通過智能手機(jī)拍攝簡短的幾秒視頻來分享給好友,使得短視頻能夠像微博一樣來傳播信息。
[0003]在采用Android系統(tǒng)的移動終端上,短視頻分享App (Applicat1n,應(yīng)用程序)可以調(diào)用Android系統(tǒng)內(nèi)置的MediaRecorder (媒體記錄)程序來拍攝視頻。目前的MediaRecorder基于一個簡單狀態(tài)機(jī)來控制,該簡單狀態(tài)機(jī)包括:初始狀態(tài)、準(zhǔn)備狀態(tài)和正在錄制狀態(tài),當(dāng)接收到用戶的開始事件時,該簡單狀態(tài)機(jī)由準(zhǔn)備狀態(tài)切換為正在錄制狀態(tài),開始調(diào)用MediaRecorder來拍攝視頻;當(dāng)接收到用戶的結(jié)束事件時,該簡單狀態(tài)機(jī)由正在錄制狀態(tài)切換為初始狀態(tài),結(jié)束拍攝。
[0004]在實(shí)現(xiàn)本發(fā)明實(shí)施例的過程中,發(fā)明人發(fā)現(xiàn)【背景技術(shù)】至少存在以下問題:在某一狀態(tài)下執(zhí)行非法操作時,上述簡單狀態(tài)機(jī)會出錯或拋出異常,例如:如果在準(zhǔn)備狀態(tài)下接收到用戶的結(jié)束事件,就會導(dǎo)致異常。而用戶使用觸摸屏來觸發(fā)拍攝過程的開始事件和結(jié)束事件時,有很大的突然性,導(dǎo)致上述視頻拍攝方法在實(shí)際使用時的出錯率很高,比如,在多段拍攝以及快速拍攝的過程中,目前的狀態(tài)機(jī)的出錯率很高。

【發(fā)明內(nèi)容】

[0005]為了解決目前的狀態(tài)機(jī)導(dǎo)致視頻拍攝方法在多段拍攝以及快速拍攝的過程中容易出錯的問題,本發(fā)明實(shí)施例提供了一種視頻拍攝方法及裝置。所述技術(shù)方案如下:
[0006]第一方面,提供了一種視頻拍攝方法,所述方法包括:
[0007]如果在狀態(tài)機(jī)處于停止?fàn)顟B(tài)時接收到開始事件,則將所述狀態(tài)機(jī)由所述停止?fàn)顟B(tài)切換為開始準(zhǔn)備狀態(tài),并開始調(diào)用系統(tǒng)拍攝的開始應(yīng)用程序編程接口 API ;
[0008]如果在所述開始準(zhǔn)備狀態(tài)接收到控制事件,則緩存所述控制事件;
[0009]在所述系統(tǒng)拍攝的開始API調(diào)用成功后,將所述狀態(tài)機(jī)由所述開始準(zhǔn)備狀態(tài)切換為正在錄制狀態(tài);
[0010]在所述狀態(tài)機(jī)為正在錄制狀態(tài)時,對緩存的所述控制事件進(jìn)行響應(yīng)或丟棄。
[0011]可選地,所述如果在所述開始準(zhǔn)備狀態(tài)接收到控制信號時,緩存所述控制信號,包括:
[0012]如果在所述開始準(zhǔn)備狀態(tài)接收到所述開始事件,則緩存所述開始事件為未決開始事件;
[0013]如果在所述開始準(zhǔn)備狀態(tài)接收到停止事件,則緩存所述停止事件為未決停止事件。
[0014]可選地,所述對緩存的所述控制事件進(jìn)行響應(yīng)或丟棄,包括:
[0015]如果緩存的所述控制事件為所述未決開始事件,則丟棄所述未決開始事件并保持所述狀態(tài)機(jī)的當(dāng)前狀態(tài)不變;
[0016]如果緩存的所述控制事件為所述未決停止事件,則將所述狀態(tài)機(jī)由所述正在錄制狀態(tài)切換為停止準(zhǔn)備狀態(tài),并開始調(diào)用系統(tǒng)拍攝的停止API ;在所述系統(tǒng)拍攝的停止API調(diào)用成功后,將所述狀態(tài)機(jī)由所述停止準(zhǔn)備狀態(tài)切換為所述停止?fàn)顟B(tài)。
[0017]可選地,所述方法,還包括:
[0018]如果在所述狀態(tài)機(jī)處于所述停止準(zhǔn)備狀態(tài)時接收到所述開始事件或所述停止事件,則保持所述狀態(tài)機(jī)的當(dāng)前狀態(tài)不變。
[0019]可選地,所述方法,還包括:
[0020]如果在所述狀態(tài)機(jī)處于所述停止?fàn)顟B(tài)時接收到所述停止事件或未知事件,則保持所述狀態(tài)機(jī)的當(dāng)前狀態(tài)不變。
[0021]可選地,所述方法,還包括:
[0022]如果接收到任一異常事件,將所述狀態(tài)機(jī)由當(dāng)前狀態(tài)保持或切換至所述停止?fàn)顟B(tài)。
[0023]第二方面,提供了一種視頻拍攝裝置,所述裝置包括:
[0024]拍攝調(diào)用模塊,用于如果在狀態(tài)機(jī)處于停止?fàn)顟B(tài)時接收到開始事件,則將所述狀態(tài)機(jī)由所述停止?fàn)顟B(tài)切換為開始準(zhǔn)備狀態(tài),并開始調(diào)用系統(tǒng)拍攝的開始應(yīng)用程序編程接口API ;
[0025]事件緩存模塊,用于如果在所述開始準(zhǔn)備狀態(tài)接收到控制事件,則緩存所述控制事件;
[0026]開始錄制模塊,用于在所述系統(tǒng)拍攝的開始API調(diào)用成功后,將所述狀態(tài)機(jī)由所述開始準(zhǔn)備狀態(tài)切換為正在錄制狀態(tài);
[0027]緩存響應(yīng)模塊,用于在所述狀態(tài)機(jī)處于正在錄制狀態(tài)時,對緩存的所述控制事件進(jìn)行響應(yīng)或丟棄。
[0028]可選地,所述事件緩存模塊,包括:
[0029]第一緩存單元和第二緩存單元;
[0030]所述第一緩存單元,用于如果在所述開始準(zhǔn)備狀態(tài)接收到所述開始事件,則緩存所述開始事件為未決開始事件;
[0031]所述第二緩存單元,用于如果在所述開始準(zhǔn)備狀態(tài)接收到停止事件,則緩存所述停止事件為未決停止事件。
[0032]可選地,所述緩存響應(yīng)模塊,包括:
[0033]事件丟棄單元和事件響應(yīng)單元;
[0034]所述事件丟棄單元,用于如果緩存的所述控制事件為所述未決開始事件,則丟棄所述未決開始事件并保持所述狀態(tài)機(jī)的當(dāng)前狀態(tài)不變;
[0035]所述事件響應(yīng)單元,用于如果緩存的所述控制事件為所述未決停止事件,則將所述狀態(tài)機(jī)由所述正在錄制狀態(tài)切換為停止準(zhǔn)備狀態(tài),并開始調(diào)用系統(tǒng)拍攝的停止API ;在所述系統(tǒng)拍攝的停止API調(diào)用成功后,將所述狀態(tài)機(jī)由所述停止準(zhǔn)備狀態(tài)切換為所述停止?fàn)顟B(tài)。
[0036]可選地,所述裝置,還包括:
[0037]第一保持模塊,用于如果在所述狀態(tài)機(jī)處于所述停止準(zhǔn)備狀態(tài)時接收到所述開始事件或所述停止事件,則保持所述狀態(tài)機(jī)的當(dāng)前狀態(tài)不變。
[0038]可選地,所述裝置,還包括:
[0039]第二保持模塊,用于如果在所述狀態(tài)機(jī)處于所述停止?fàn)顟B(tài)時接收到所述停止事件或未知事件,則保持所述狀態(tài)機(jī)的當(dāng)前狀態(tài)不變。
[0040]可選地,所述裝置,還包括:
[0041]異常處理模塊,用于如果接收到任一異常事件,將所述狀態(tài)機(jī)由當(dāng)前狀態(tài)保持或切換至所述停止?fàn)顟B(tài)。
[0042]本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是:
[0043]通過將狀態(tài)機(jī)處于開始準(zhǔn)備狀態(tài)時接收到的控制事件進(jìn)行緩存,直到狀態(tài)機(jī)處于正在錄制狀態(tài)時才開始處理緩存的控制事件;解決了目前的狀態(tài)機(jī)導(dǎo)致視頻拍攝方法在多段拍攝以及快速拍攝的過程中容易出錯的問題;達(dá)到了使用更為合理的狀態(tài)機(jī)來控制拍攝過程,實(shí)現(xiàn)分段斷點(diǎn)拍攝、快速拍攝等精細(xì)化拍攝過程,且避免出錯的效果。
【附圖說明】
[0044]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0045]圖1是本發(fā)明一個實(shí)施例提供的視頻拍攝方法的方法流程圖;
[0046]圖2是本發(fā)明實(shí)施例涉及的狀態(tài)機(jī)的結(jié)構(gòu)示意圖;
[0047]圖3是本發(fā)明另一實(shí)施例提供的視頻拍攝方法的方法流程圖;
[0048]圖4是本發(fā)明再一實(shí)施例提供的視頻拍攝方法在實(shí)施時的界面示意圖;
[0049]圖5是本發(fā)明一個實(shí)施例提供的視頻拍攝裝置的結(jié)構(gòu)示意圖;
[0050]圖6是本發(fā)明另一實(shí)施例提供的視頻拍攝裝置的結(jié)構(gòu)示意圖;
[0051]圖7是本發(fā)明一個實(shí)施例提供的移動終端的結(jié)構(gòu)方框圖。
【具體實(shí)施方式】
[0052]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0053]發(fā)明人在實(shí)現(xiàn)本發(fā)明實(shí)施例的過程中發(fā)現(xiàn),由于調(diào)用MediaRecorder的開始API和MediaRecorder的停止API時,都不能馬上返回結(jié)果,大概需要幾百毫秒的響應(yīng)時間。這段時間如果接收到非法操作,非常容易導(dǎo)致異常。為此,發(fā)明人重新設(shè)計了更為合理的狀態(tài)機(jī)來控制MediaRecorder (媒體錄制),以避免上述異常的發(fā)生。其中,
[0054]開始API 可以為:MediaRecorder.start ()(媒體錄制.開始())
[0055]結(jié)束API 可以為:MediaRecorder.stop ()(媒體錄制.結(jié)束())
[0056]請參考圖1,其示出了本發(fā)明一個實(shí)施例提供的視頻拍攝方法的方法流程圖。該視頻拍攝方法應(yīng)用于電子設(shè)備中,特別是采用Android操作系統(tǒng)的電子設(shè)備。該方法包括:
[0057]步驟102,如果在狀態(tài)機(jī)處于停止?fàn)顟B(tài)時接收到開始事件,則將狀態(tài)機(jī)由停止?fàn)顟B(tài)切換為開始準(zhǔn)備狀態(tài),并開始調(diào)用系統(tǒng)拍攝的開始應(yīng)用程序編程接口 API ;
[0058]與【背景技術(shù)】不同的是,該狀態(tài)機(jī)包括:停止(STOPPED)狀態(tài)、開始準(zhǔn)備(START_PENDING)狀態(tài)和正在錄制(RECORDING)狀態(tài)。在未拍攝之前,處于停止?fàn)顟B(tài),如果此時接收到用戶觸發(fā)的開始事件,則電子設(shè)備將狀態(tài)機(jī)由停止?fàn)顟B(tài)切換為開始準(zhǔn)備狀態(tài),并開始調(diào)用系統(tǒng)拍攝的開始API (Applicat1n Programming In
當(dāng)前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1