CN104980642A - 视频拍摄方法及装置 - Google Patents
视频拍摄方法及装置 Download PDFInfo
- Publication number
- CN104980642A CN104980642A CN201410138719.1A CN201410138719A CN104980642A CN 104980642 A CN104980642 A CN 104980642A CN 201410138719 A CN201410138719 A CN 201410138719A CN 104980642 A CN104980642 A CN 104980642A
- Authority
- CN
- China
- Prior art keywords
- event
- state
- state machine
- beginning
- stopping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本发明实施例公开了一种视频拍摄方法及装置,属于多媒体处理领域。所述方法包括:如果在状态机处于停止状态时接收到开始事件,则将状态机由停止状态切换为开始准备状态,并开始调用系统拍摄的开始API;缓存在开始准备状态接收到的控制事件;在系统拍摄的开始API调用成功后,将状态机由开始准备状态切换为正在录制状态;在状态机处于正在录制状态时,对缓存的控制事件进行响应或丢弃。本发明实施例解决了目前的状态机导致视频拍摄方法在多段拍摄以及快速拍摄的过程中容易出错的问题;达到了使用更为合理的状态机来控制拍摄过程,实现分段断点拍摄、快速拍摄等精细化拍摄过程,且避免出错的效果。
Description
技术领域
本发明实施例涉及多媒体处理领域,特别涉及一种视频拍摄方法及装置。
背景技术
短视频分享是目前在诸如智能手机、平板电脑和多媒体播放器等移动终端上非常流行的一种功能。用户可以通过智能手机拍摄简短的几秒视频来分享给好友,使得短视频能够像微博一样来传播信息。
在采用Android系统的移动终端上,短视频分享App(Application,应用程序)可以调用Android系统内置的MediaRecorder(媒体记录)程序来拍摄视频。目前的MediaRecorder基于一个简单状态机来控制,该简单状态机包括:初始状态、准备状态和正在录制状态,当接收到用户的开始事件时,该简单状态机由准备状态切换为正在录制状态,开始调用MediaRecorder来拍摄视频;当接收到用户的结束事件时,该简单状态机由正在录制状态切换为初始状态,结束拍摄。
在实现本发明实施例的过程中,发明人发现背景技术至少存在以下问题:在某一状态下执行非法操作时,上述简单状态机会出错或抛出异常,例如:如果在准备状态下接收到用户的结束事件,就会导致异常。而用户使用触摸屏来触发拍摄过程的开始事件和结束事件时,有很大的突然性,导致上述视频拍摄方法在实际使用时的出错率很高,比如,在多段拍摄以及快速拍摄的过程中,目前的状态机的出错率很高。
发明内容
为了解决目前的状态机导致视频拍摄方法在多段拍摄以及快速拍摄的过程中容易出错的问题,本发明实施例提供了一种视频拍摄方法及装置。所述技术方案如下:
第一方面,提供了一种视频拍摄方法,所述方法包括:
如果在状态机处于停止状态时接收到开始事件,则将所述状态机由所述停止状态切换为开始准备状态,并开始调用系统拍摄的开始应用程序编程接口API;
如果在所述开始准备状态接收到控制事件,则缓存所述控制事件;
在所述系统拍摄的开始API调用成功后,将所述状态机由所述开始准备状态切换为正在录制状态;
在所述状态机为正在录制状态时,对缓存的所述控制事件进行响应或丢弃。
可选地,所述如果在所述开始准备状态接收到控制信号时,缓存所述控制信号,包括:
如果在所述开始准备状态接收到所述开始事件,则缓存所述开始事件为未决开始事件;
如果在所述开始准备状态接收到停止事件,则缓存所述停止事件为未决停止事件。
可选地,所述对缓存的所述控制事件进行响应或丢弃,包括:
如果缓存的所述控制事件为所述未决开始事件,则丢弃所述未决开始事件并保持所述状态机的当前状态不变;
如果缓存的所述控制事件为所述未决停止事件,则将所述状态机由所述正在录制状态切换为停止准备状态,并开始调用系统拍摄的停止API;在所述系统拍摄的停止API调用成功后,将所述状态机由所述停止准备状态切换为所述停止状态。
可选地,所述方法,还包括:
如果在所述状态机处于所述停止准备状态时接收到所述开始事件或所述停止事件,则保持所述状态机的当前状态不变。
可选地,所述方法,还包括:
如果在所述状态机处于所述停止状态时接收到所述停止事件或未知事件,则保持所述状态机的当前状态不变。
可选地,所述方法,还包括:
如果接收到任一异常事件,将所述状态机由当前状态保持或切换至所述停止状态。
第二方面,提供了一种视频拍摄装置,所述装置包括:
拍摄调用模块,用于如果在状态机处于停止状态时接收到开始事件,则将所述状态机由所述停止状态切换为开始准备状态,并开始调用系统拍摄的开始应用程序编程接口API;
事件缓存模块,用于如果在所述开始准备状态接收到控制事件,则缓存所述控制事件;
开始录制模块,用于在所述系统拍摄的开始API调用成功后,将所述状态机由所述开始准备状态切换为正在录制状态;
缓存响应模块,用于在所述状态机处于正在录制状态时,对缓存的所述控制事件进行响应或丢弃。
可选地,所述事件缓存模块,包括:
第一缓存单元和第二缓存单元;
所述第一缓存单元,用于如果在所述开始准备状态接收到所述开始事件,则缓存所述开始事件为未决开始事件;
所述第二缓存单元,用于如果在所述开始准备状态接收到停止事件,则缓存所述停止事件为未决停止事件。
可选地,所述缓存响应模块,包括:
事件丢弃单元和事件响应单元;
所述事件丢弃单元,用于如果缓存的所述控制事件为所述未决开始事件,则丢弃所述未决开始事件并保持所述状态机的当前状态不变;
所述事件响应单元,用于如果缓存的所述控制事件为所述未决停止事件,则将所述状态机由所述正在录制状态切换为停止准备状态,并开始调用系统拍摄的停止API;在所述系统拍摄的停止API调用成功后,将所述状态机由所述停止准备状态切换为所述停止状态。
可选地,所述装置,还包括:
第一保持模块,用于如果在所述状态机处于所述停止准备状态时接收到所述开始事件或所述停止事件,则保持所述状态机的当前状态不变。
可选地,所述装置,还包括:
第二保持模块,用于如果在所述状态机处于所述停止状态时接收到所述停止事件或未知事件,则保持所述状态机的当前状态不变。
可选地,所述装置,还包括:
异常处理模块,用于如果接收到任一异常事件,将所述状态机由当前状态保持或切换至所述停止状态。
本发明实施例提供的技术方案带来的有益效果是:
通过将状态机处于开始准备状态时接收到的控制事件进行缓存,直到状态机处于正在录制状态时才开始处理缓存的控制事件;解决了目前的状态机导致视频拍摄方法在多段拍摄以及快速拍摄的过程中容易出错的问题;达到了使用更为合理的状态机来控制拍摄过程,实现分段断点拍摄、快速拍摄等精细化拍摄过程,且避免出错的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的视频拍摄方法的方法流程图;
图2是本发明实施例涉及的状态机的结构示意图;
图3是本发明另一实施例提供的视频拍摄方法的方法流程图;
图4是本发明再一实施例提供的视频拍摄方法在实施时的界面示意图;
图5是本发明一个实施例提供的视频拍摄装置的结构示意图;
图6是本发明另一实施例提供的视频拍摄装置的结构示意图;
图7是本发明一个实施例提供的移动终端的结构方框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
发明人在实现本发明实施例的过程中发现,由于调用MediaRecorder的开始API和MediaRecorder的停止API时,都不能马上返回结果,大概需要几百毫秒的响应时间。这段时间如果接收到非法操作,非常容易导致异常。为此,发明人重新设计了更为合理的状态机来控制MediaRecorder(媒体录制),以避免上述异常的发生。其中,
开始API可以为:MediaRecorder.start()(媒体录制.开始())
结束API可以为:MediaRecorder.stop()(媒体录制.结束())
请参考图1,其示出了本发明一个实施例提供的视频拍摄方法的方法流程图。该视频拍摄方法应用于电子设备中,特别是采用Android操作系统的电子设备。该方法包括:
步骤102,如果在状态机处于停止状态时接收到开始事件,则将状态机由停止状态切换为开始准备状态,并开始调用系统拍摄的开始应用程序编程接口API;
与背景技术不同的是,该状态机包括:停止(STOPPED)状态、开始准备(START_PENDING)状态和正在录制(RECORDING)状态。在未拍摄之前,处于停止状态,如果此时接收到用户触发的开始事件,则电子设备将状态机由停止状态切换为开始准备状态,并开始调用系统拍摄的开始API(ApplicationProgramming Interface,应用程序编程接口)。该系统拍摄的开始API可以是MediaRecorder.start()。
步骤104,如果在开始准备状态接收到控制事件,则缓存控制事件;
控制事件包括开始事件和停止事件。如果在开始准备状态接收到控制事件,则缓存控制事件,暂不处理该控制事件。
步骤106,在系统拍摄的开始API调用成功后,将状态机由开始准备状态切换为正在录制状态;
步骤108,在状态机为正在录制状态时,对缓存的控制事件进行响应或丢弃。
综上所述,本实施例提供的视频拍摄方法,通过将状态机处于开始准备状态时接收到的控制事件进行缓存,直到状态机处于正在录制状态时才开始处理缓存的控制事件;解决了目前的状态机导致视频拍摄方法在多段拍摄以及快速拍摄的过程中容易出错的问题;达到了使用更为合理的状态机来控制拍摄过程,实现分段断点拍摄、快速拍摄等精细化拍摄过程,且避免出错的效果。
为了便于下述实施例的描述,首先对本文中新提出的状态机进行介绍。请参考图2,其示出了本发明实施例涉及到的状态机的示意图。
该状态机定义了4种状态,分别是:停止(STOPPED)状态21、开始准备(START_PENDING)状态22、正在录制(RECORDING)状态23和停止准备(STOP_PENDING)状态24。
该状态机定义了8种普通事件,分别是:开始事件,停止事件、开始准备完成事件(start ok)、开始准备失败事件(start fail)、停止准备完成事件(stop ok)、停止准备失败事件(stop fail)、异常事件(fail)和未知事件(unkown)。如果电子设备是包括触摸屏的电子设备,则开始事件可以对应用户的手指触摸屏幕上录制按钮的事件,停止事件可以对应用户的手指离开屏幕上录制按钮的事件。
该状态机还定义了2种未决事件,分别是:未决开始事件和未决停止事件。
在整个拍摄过程中,状态机总是处于上述四种状态中的一种,如果在某种状态下接收到某种事件,可能会触发状态之间的切换。具体如下:
请参考图3,其示出了本发明另一实施例提供的视频拍摄方法的方法流程图。该视频拍摄方法应用于电子设备中,特别是采用Android操作系统的电子设备。另外,该视频拍摄方法采用图2中示出的状态机来控制拍摄过程。该方法包括:
步骤301,如果在状态机处于停止状态时接收到开始事件,则将状态机由停止状态切换为开始准备状态,并开始调用系统拍摄的开始应用程序编程接口API;
在未拍摄时,状态机处于停止状态。
若在停止状态接收到开始事件,意味着用户希望开始拍摄,则电子设备将状态机由停止状态切换为开始准备状态,并开始调用系统拍摄的开始应用程序编程接口API。该系统拍摄的开始API可以是MediaRecorder.start()。
步骤302,如果在开始准备状态接收到控制事件,则缓存控制事件;
控制事件包括了开始事件和停止事件,则:
如果在开始准备状态又接收到开始事件,则电子设备缓存该开始事件为未决开始事件,暂不处理。
如果在开始准备状态接收到停止事件,则电子设备缓存停止事件为未决停止事件,同样暂不处理。
步骤303,在系统拍摄的开始API调用成功后,将状态机由开始准备状态切换为正在录制状态;
在MediaRecorder.start()调用成功后,电子设备将状态机由开始准备状态切换为正在录制状态。此后,电子设备开始正式录制视频。
其中,电子设备接收到开始准备完成事件时,认为系统拍摄的开始API调用成功;电子设备接收到开始准备失败事件时,认为系统拍摄的开始API调用失败,将状态机由开始准备状态切换为停止状态。
步骤304,在状态机处于正在录制状态时,对缓存的控制事件进行响应或丢弃。
当状态机处于正在录制状态后,电子设备才对开始准备状态缓存的控制事件进行响应或丢弃。
如果缓存的控制事件为未决开始事件,则电子设备丢弃未决开始事件并保持状态机的当前状态不变;
如果缓存的控制事件为未决停止事件,则将状态机由正在录制状态切换为停止准备状态,并开始调用系统拍摄的停止API;在系统拍摄的停止API调用成功后,将状态机由停止准备状态切换为停止状态。其中,系统拍摄的停止API可以是MediaRecorder.stop()。
其中,电子设备接收到停止准备完成事件时,认为系统拍摄的停止API调用成功;电子设备接收到停止准备失败事件时,认为系统拍摄的停止API调用失败,将状态机由停止准备状态切换为停止状态。
如果不存在缓存的控制事件,则电子设备在状态机处于正在录制状态的过程中,一直进行正常的拍摄过程。
步骤305,如果在状态机处于正在录制状态时接收到停止事件,则将状态机由正在录制状态切换为停止准备状态,并开始调用系统拍摄的停止API;
在正常的拍摄过程中,在状态机处于正在录制状态时才会接收到停止事件,此时电子设备将状态机由正在录制状态切换为停止准备状态,并开始调用系统拍摄的停止API。其中,系统拍摄的停止API可以是MediaRecorder.stop()。
步骤306,在系统拍摄的停止API调用成功后,将状态机由停止准备状态切换为停止状态。
至此,完成一段视频的拍摄,如果是分段断点拍摄,则步骤301至306可能会执行多次。
为了保证上述状态机的正常运行,该视频拍摄方法,还包括:
如果在状态机处于停止准备状态时接收到开始事件或停止事件,则电子设备保持状态机的当前状态不变。
如果在状态机处于停止状态时接收到停止事件或未知事件,则电子设备保持状态机的当前状态不变。
如果接收到任一异常事件,则电子设备将状态机由当前状态保持或切换至停止状态。也即,如果在状态机处于停止状态时接收到异常事件,则电子设备将状态机由当前状态保持为停止状态;如果在状态机不处于停止状态时接收到异常事件,则电子设备将状态机由当前状态切换为停止状态。
综上所述,本实施例提供的视频拍摄方法,通过将状态机处于开始准备状态时接收到的控制事件进行缓存,直到状态机处于正在录制状态时才开始处理缓存的控制事件;解决了目前的状态机导致视频拍摄方法在多段拍摄以及快速拍摄的过程中容易出错的问题;达到了使用更为合理的状态机来控制拍摄过程,实现分段断点拍摄、快速拍摄等精细化拍摄过程,且避免出错的效果。
该视频拍摄方法通过增加开始准备状态和相应的状态处理机制,使得调用系统拍摄的开始API至调用成功这段时间中,即便收到非法操作,也不会发生异常;该视频拍摄方法还通过增加停止准备状态和相应的状态处理机制,使得调用系统拍摄的停止API至调用成功这段时间中,即便收到非法操作,也不会发生异常。
在一个具体的例子中,上述方法可以实现由电子设备中的短视频分享App来执行。如图4所示,用户的手指触摸录制按钮41时,开始录制视频;用户的手指离开录制按钮41时,停止录制视频;若用户的手指再次触摸录制按钮41时,则继续录制视频。如此反复,直到录满规定时间时完成录制,或者由用户的操作来触发完成录制,可以实现分段断点拍摄的效果。
同时,由于MediaRecorder是Android系统的系统自带API,所以上述视频拍摄方法具有较强的适用性,且实现难度也较低。
请参考图5,其示出了本发明一个实施例提供的视频拍摄装置的结构示意图。该视频拍摄装置可以通过软件、硬件或者两者的结合实现成为电子设备的全部或一部分。该视频拍摄装置包括:拍摄调用模块520、事件缓存模块540、开始录制模块560和缓存响应模块580。
拍摄调用模块520,用于如果在状态机处于停止状态时接收到开始事件,则将所述状态机由所述停止状态切换为开始准备状态,并开始调用系统拍摄的开始应用程序编程接口API;
事件缓存模块540,用于如果在所述开始准备状态接收到控制事件,则缓存所述控制事件;
开始录制模块560,用于在所述系统拍摄的开始API调用成功后,将所述状态机由所述开始准备状态切换为正在录制状态;
缓存响应模块580,用于在所述状态机处于所述正在录制状态时,对缓存的所述控制事件进行响应或丢弃。
综上所述,本实施例提供的视频拍摄装置,通过将状态机处于开始准备状态时接收到的控制事件进行缓存,直到状态机处于正在录制状态时才开始处理缓存的控制事件;解决了目前的状态机导致视频拍摄方法在多段拍摄以及快速拍摄的过程中容易出错的问题;达到了使用更为合理的状态机来控制拍摄过程,实现分段断点拍摄、快速拍摄等精细化拍摄过程,且避免出错的效果。
请参考图6,其示出了本发明一个实施例提供的视频拍摄装置的结构示意图。该视频拍摄装置可以通过软件、硬件或者两者的结合实现成为电子设备的全部或一部分。该视频拍摄装置包括:拍摄调用模块520、事件缓存模块540、开始录制模块560和缓存响应模块580。
拍摄调用模块520,用于如果在状态机处于停止状态时接收到开始事件,则将所述状态机由所述停止状态切换为开始准备状态,并开始调用系统拍摄的开始应用程序编程接口API;
事件缓存模块540,用于如果在所述开始准备状态接收到控制事件,则缓存所述控制事件;
开始录制模块560,用于在所述系统拍摄的开始API调用成功后,将所述状态机由所述开始准备状态切换为正在录制状态;
缓存响应模块580,用于在所述状态机处于所述正在录制状态时,对缓存的所述控制事件进行响应或丢弃。
所述事件缓存模块540,包括:第一缓存单元542和第二缓存单元544;
所述第一缓存单元542,用于如果在所述开始准备状态接收到所述开始事件,则缓存所述开始事件为未决开始事件;
所述第二缓存单元544,用于如果在所述开始准备状态接收到停止事件,则缓存所述停止事件为未决停止事件。
所述缓存响应模块580,包括:事件丢弃单元582和事件响应单元584;
所述事件丢弃单元582,用于如果缓存的所述控制信号为所述未决开始事件,则丢弃所述未决开始事件并保持所述状态机的当前状态不变;
所述事件响应单元584,用于如果缓存的所述控制信号为所述未决停止事件,则将所述状态机由所述正在录制状态切换为停止准备状态,并开始调用系统拍摄的停止API;在所述系统拍摄的停止API调用成功后,将所述状态机由所述停止准备状态切换为所述停止状态。
所述装置,还包括:
第一保持模块592,用于如果在所述状态机处于所述停止准备状态时接收到所述开始事件或所述停止事件,则保持所述状态机的当前状态不变。
所述装置,还包括:
第二保持模块594,用于如果在所述状态机处于所述停止状态时接收到所述停止事件或未知事件,则保持所述状态机的当前状态不变。
所述装置,还包括:
异常处理模块596,用于如果接收到任一异常事件,将所述状态机由当前状态保持或切换至所述停止状态。
综上所述,本实施例提供的视频拍摄装置,通过将状态机处于开始准备状态时接收到的控制事件进行缓存,直到状态机处于正在录制状态时才开始处理缓存的控制事件;解决了目前的状态机导致视频拍摄方法在多段拍摄以及快速拍摄的过程中容易出错的问题;达到了使用更为合理的状态机来控制拍摄过程,实现分段断点拍摄、快速拍摄等精细化拍摄过程,且避免出错的效果。
该视频拍摄装置通过增加开始准备状态和相应的状态处理机制,使得调用系统拍摄的开始API至调用成功这段时间中,即便收到非法操作,也不会发生异常;该视频拍摄方法还通过增加停止准备状态和相应的状态处理机制,使得调用系统拍摄的停止API至调用成功这段时间中,即便收到非法操作,也不会发生异常。
需要说明的是:上述实施例提供的视频拍摄装置在拍摄视频时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频拍摄装置与视频拍摄方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图7,其示出了本发明一个实施例提供的电子设备的结构示意图。具体来讲:
电子设备700可以包括RF(Radio Frequency,射频)电路710、包括有一个或一个以上计算机可读存储介质的存储器720、输入单元730、显示单元740、传感器750、音频电路760、WiFi(wireless fidelity,无线保真)模块770、包括有一个或者一个以上处理核心的处理器780、以及电源790等部件。本领域技术人员可以理解,图7中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器780处理;另外,将涉及上行的数据发送给基站。通常,RF电路710包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路710还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband CodeDivision Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备700的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器720还可以包括存储器控制器,以提供处理器780和输入单元730对存储器720的访问。
输入单元730可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元730可包括图像输入设备731以及其他输入设备732。图像输入设备731可以是摄像头,也可以是光电扫描设备。除了图像输入设备731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及电子设备1200的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元740可包括显示面板741,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板741。
电子设备700还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在电子设备700移动到耳边时,关闭显示面板741和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子设备700还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路760、扬声器761,传声器762可提供用户与电子设备700之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经RF电路710以发送给比如另一电子设备,或者将音频数据输出至存储器720以便进一步处理。音频电路760还可能包括耳塞插孔,以提供外设耳机与电子设备700的通信。
WiFi属于短距离无线传输技术,电子设备700通过WiFi模块770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块770,但是可以理解的是,其并不属于电子设备700的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器780是电子设备700的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行电子设备7200的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器780可包括一个或多个处理核心;优选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
电子设备700还包括给各个部件供电的电源790(比如电池),优选的,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源790还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,电子设备700还可以包括蓝牙模块等,在此不再赘述。
具体在本实施例中,当电子设备700为信息提供电子设备时,信息提供电子设备还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于进行以下操作的指令:
如果在状态机处于停止状态时接收到开始事件,则将所述状态机由所述停止状态切换为开始准备状态,并开始调用系统拍摄的开始应用程序编程接口API;
如果在所述开始准备状态接收到控制事件,则缓存所述控制事件;
在所述系统拍摄的开始API调用成功后,将所述状态机由所述开始准备状态切换为正在录制状态;
在所述状态机处于所述正在录制状态时,对缓存的所述控制事件进行响应或丢弃。
在可能的实施例中,还包含用于进行以下操作的指令:
如果在所述开始准备状态接收到所述开始事件,则缓存所述开始事件为未决开始事件;
如果在所述开始准备状态接收到停止事件,则缓存所述停止事件为未决停止事件。
在可能的实施例中,还包含用于进行以下操作的指令:
如果缓存的所述控制事件为所述未决开始事件,则丢弃所述未决开始事件并保持所述状态机的当前状态不变;
如果缓存的所述控制事件为所述未决停止事件,则将所述状态机由所述正在录制状态切换为停止准备状态,并开始调用系统拍摄的停止API;在所述系统拍摄的停止API调用成功后,将所述状态机由所述停止准备状态切换为所述停止状态。
在可能的实施例中,还包含用于进行以下操作的指令:
如果在所述状态机处于所述停止准备状态时接收到所述开始事件或所述停止事件,则保持所述状态机的当前状态不变。
在可能的实施例中,还包含用于进行以下操作的指令:
如果在所述状态机处于所述停止状态时接收到所述停止事件或未知事件,则保持所述状态机的当前状态不变。
在可能的实施例中,还包含用于进行以下操作的指令:
如果接收到任一异常事件,将所述状态机由当前状态保持或切换至所述停止状态。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种视频拍摄方法,其特征在于,所述方法包括:
如果在状态机处于停止状态时接收到开始事件,则将所述状态机由所述停止状态切换为开始准备状态,并开始调用系统拍摄的开始应用程序编程接口API;
如果在所述开始准备状态接收到控制事件,则缓存所述控制事件;
在所述系统拍摄的开始API调用成功后,将所述状态机由所述开始准备状态切换为正在录制状态;
在所述状态机处于所述正在录制状态时,对缓存的所述控制事件进行响应或丢弃。
2.根据权利要求1所述的方法,其特征在于,所述如果在所述开始准备状态接收到控制信号,则缓存所述控制信号,包括:
如果在所述开始准备状态接收到所述开始事件,则缓存所述开始事件为未决开始事件;
如果在所述开始准备状态接收到停止事件,则缓存所述停止事件为未决停止事件。
3.根据权利要求2所述的方法,其特征在于,所述在所述状态机处于所述正在录制状态时,对缓存的所述控制事件进行响应或丢弃,包括:
如果缓存的所述控制事件为所述未决开始事件,则丢弃所述未决开始事件并保持所述状态机的当前状态不变;
如果缓存的所述控制事件为所述未决停止事件,则将所述状态机由所述正在录制状态切换为停止准备状态,并开始调用系统拍摄的停止API;在所述系统拍摄的停止API调用成功后,将所述状态机由所述停止准备状态切换为所述停止状态。
4.根据权利要求3所述的方法,其特征在于,所述方法,还包括:
如果在所述状态机处于所述停止准备状态时接收到所述开始事件或所述停止事件,则保持所述状态机的当前状态不变。
5.根据权利要求1至4任一所述的方法,其特征在于,所述方法,还包括:
如果在所述状态机处于所述停止状态时接收到所述停止事件或未知事件,则保持所述状态机的当前状态不变。
6.根据权利要求1至4任一所述的方法,其特征在于,所述方法,还包括:
如果接收到任一异常事件,将所述状态机由当前状态保持或切换至所述停止状态。
7.一种视频拍摄装置,其特征在于,所述装置包括:
拍摄调用模块,用于如果在状态机处于停止状态时接收到开始事件,则将所述状态机由所述停止状态切换为开始准备状态,并开始调用系统拍摄的开始应用程序编程接口API;
事件缓存模块,用于如果在所述开始准备状态接收到控制事件,则缓存所述控制事件;
开始录制模块,用于在所述系统拍摄的开始API调用成功后,将所述状态机由所述开始准备状态切换为正在录制状态;
缓存响应模块,用于在所述状态机处于所述正在录制状态时,对缓存的所述控制事件进行响应或丢弃。
8.根据权利要求7所述的装置,其特征在于,所述事件缓存模块,包括:
第一缓存单元和第二缓存单元;
所述第一缓存单元,用于如果在所述开始准备状态接收到所述开始事件,则缓存所述开始事件为未决开始事件;
所述第二缓存单元,用于如果在所述开始准备状态接收到停止事件,则缓存所述停止事件为未决停止事件。
9.根据权利要求8所述的装置,其特征在于,所述缓存响应模块,包括:
事件丢弃单元和事件响应单元;
所述事件丢弃单元,用于如果缓存的所述控制信号为所述未决开始事件,则丢弃所述未决开始事件并保持所述状态机的当前状态不变;
所述事件响应单元,用于如果缓存的所述控制信号为所述未决停止事件,则将所述状态机由所述正在录制状态切换为停止准备状态,并开始调用系统拍摄的停止API;在所述系统拍摄的停止API调用成功后,将所述状态机由所述停止准备状态切换为所述停止状态。
10.根据权利要求9所述的装置,其特征在于,所述装置,还包括:
第一保持模块,用于如果在所述状态机处于所述停止准备状态时接收到所述开始事件或所述停止事件,则保持所述状态机的当前状态不变。
11.根据权利要求7至10任一所述的装置,其特征在于,所述装置,还包括:
第二保持模块,用于如果在所述状态机处于所述停止状态时接收到所述停止事件或未知事件,则保持所述状态机的当前状态不变。
12.根据权利要求7至10任一所述的装置,其特征在于,所述装置,还包括:
异常处理模块,用于如果接收到任一异常事件,将所述状态机由当前状态保持或切换至所述停止状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410138719.1A CN104980642B (zh) | 2014-04-08 | 2014-04-08 | 视频拍摄方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410138719.1A CN104980642B (zh) | 2014-04-08 | 2014-04-08 | 视频拍摄方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104980642A true CN104980642A (zh) | 2015-10-14 |
CN104980642B CN104980642B (zh) | 2019-01-22 |
Family
ID=54276702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410138719.1A Active CN104980642B (zh) | 2014-04-08 | 2014-04-08 | 视频拍摄方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104980642B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018129736A1 (zh) * | 2017-01-16 | 2018-07-19 | 陈银芳 | 一种视频的拍摄方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521744A (zh) * | 2009-04-17 | 2009-09-02 | 东南大学 | 视频捕捉控制器 |
CN102609302A (zh) * | 2012-01-17 | 2012-07-25 | 中兴通讯股份有限公司 | 一种多媒体应用的并发管理方法和装置 |
CN103281500A (zh) * | 2013-04-24 | 2013-09-04 | 贵阳朗玛信息技术股份有限公司 | 处理视频的方法及装置 |
US20130266127A1 (en) * | 2012-04-10 | 2013-10-10 | Raytheon Bbn Technologies Corp | System and method for removing sensitive data from a recording |
CN103517021A (zh) * | 2013-09-13 | 2014-01-15 | 广东欧珀移动通信有限公司 | 一种Android终端自动连续录像的方法及终端 |
-
2014
- 2014-04-08 CN CN201410138719.1A patent/CN104980642B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521744A (zh) * | 2009-04-17 | 2009-09-02 | 东南大学 | 视频捕捉控制器 |
CN102609302A (zh) * | 2012-01-17 | 2012-07-25 | 中兴通讯股份有限公司 | 一种多媒体应用的并发管理方法和装置 |
US20130266127A1 (en) * | 2012-04-10 | 2013-10-10 | Raytheon Bbn Technologies Corp | System and method for removing sensitive data from a recording |
CN103281500A (zh) * | 2013-04-24 | 2013-09-04 | 贵阳朗玛信息技术股份有限公司 | 处理视频的方法及装置 |
CN103517021A (zh) * | 2013-09-13 | 2014-01-15 | 广东欧珀移动通信有限公司 | 一种Android终端自动连续录像的方法及终端 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018129736A1 (zh) * | 2017-01-16 | 2018-07-19 | 陈银芳 | 一种视频的拍摄方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104980642B (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105005909A (zh) | 预测流失用户的方法及装置 | |
CN104967896A (zh) | 一种显示弹幕评论信息的方法和装置 | |
CN104462119A (zh) | 数据迁移方法及装置 | |
CN104834529A (zh) | 一种应用的性能优化的方法及装置 | |
CN104142862A (zh) | 服务器的过载保护方法及装置 | |
CN105278937A (zh) | 一种显示弹出框消息的方法及装置 | |
CN103442330A (zh) | 一种位置通知的方法及装置 | |
CN104618222A (zh) | 一种匹配表情图像的方法及装置 | |
CN104142868A (zh) | 建立连接的方法及装置 | |
CN104717341A (zh) | 一种消息提示方法及终端 | |
CN105471704A (zh) | 一种实现多人通话的方法、装置及系统 | |
CN103179026B (zh) | 用户交互式系统中的通信方法、系统及服务器和客户端 | |
CN104301504A (zh) | 消息查看方法、装置和移动终端 | |
CN104407804A (zh) | 截屏方法、装置及电子设备 | |
CN103368828B (zh) | 一种消息暂存方法及系统 | |
CN104967865A (zh) | 视频预览方法和装置 | |
CN104618223A (zh) | 一种信息推荐的管理方法、装置和系统 | |
CN104423822A (zh) | 录制自动化测试脚本的方法及装置 | |
CN103561400A (zh) | 发起通信的方法、装置及移动终端 | |
CN103634311A (zh) | 安全防护方法及装置、终端 | |
CN103699309A (zh) | 一种同步视频的录制方法、装置及移动终端 | |
CN103200077B (zh) | 一种语音通话时数据交互的方法、装置及系统 | |
CN105335238A (zh) | 进程间通信方法及装置 | |
CN103533139A (zh) | 多卡用户的数据管理方法、装置及移动终端 | |
CN104967864A (zh) | 一种合并视频的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |