To record video data to a file, descriptor, or an URL, use the video recorder utility of the Multimedia Framework (MMF) to develop your application. To make use of the onboard camera to capture a video clip, the application needs to repeat the steps described in the illustration below.
Figure: The steps required to capture a video clip
Important implementation considerations include:
Make sure you include the VideoRecorder.h
and mmfcontrollerpluginresolver.h
header files
in the appropriate class files.
Make sure you have correct capabilities information set for your application. You need at least the UserEnvironment
capability. If you want to set the recording
priority for the video and audio device, you need the MultimediaDD
capability.
Make sure mediaclientvideo.lib
and mmfcontrollerframework.lib
are accessible to your linker
when compiling your application by including it in your mmp
file or by editing the project properties in your IDE, depending
on your build environment.
To open a file for recording the CVideoRecorderUtility
class requires the MMF Controller Framework API to specify controller
and format UIDs.
If you need to use the display of the device as a
viewfinder for your video application, request viewfinder frames using
the CCamera
class, and draw them yourself. For
more information, see step 3 in To capture still images on a mobile device .
The settings you can use in your application depend on what the camera hardware on the device supports.
Use the methods of the CVideoRecorderUtility
class to construct your application.
Initialize the video recorder.
Create a video recorder object using the CVideoRecorderUtility::NewL
method.
Resolve the supported video format and retrieve a
list of controllers using the CMMFControllerPluginSelectionParameters
and CMMFFormatSelectionParameters
classes, and
the respective type definitions RMMFControllerImplInfoArray
and RMMFFormatImplInfoArray
.
Open a file, descriptor or an URL to store the video
clip in using the respective CVideoRecorderUtility::OpenFileL
, CVideoRecorderUtility::OpenDesL
, or CVideoRecorderUtility::OpenUrlL
method.
Set the maximum video clip size using the CVideoRecorderUtility::SetMaxClipSizeL()
method.
Prepare the record controller using the CVideoRecorderUtility::Prepare()
method. MVideoRecorderUtilityObserver::MvruoPrepareComplete
is called upon completion.
Configure the audio and video settings.
You can check and set, for
example, the recording priority, audio track, video frame size and
frame rate, audio and video codecs and bit rates, and recording gain
of the video clip. For more information on the options, see the CVideoRecorderUtility
class.
Capture the video clip.
Start recording a video using the CVideoRecorderUtility::Record()
method.
Pause recording using the CVideoRecorderUtility::PauseL()
method.
Stop recording using the CVideoRecorderUtility::Stop()
method.
To
exit the application or to switch it to the background, close audio
and video controllers using the CVideoRecorderUtility::Close()
method.
For a reference example, see the Camera Example: Capturing and controlling the images using Camera.
For more information on CVideoRecorderUtility
, see: