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.
Important implementation considerations include:
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 3.
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.
Include 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.
For a reference example, see the Camera Example: Capturing and controlling the images using Camera.
For more information on CVideoRecorderUtility, see Multimedia recipes at the Symbian Foundation.
For more information on CVideoRecorderUtility see the Recording Video Data tutorial in the Video Client library.