Tizen D.I.T

CameraRecoder

D.I.T

#include "dit.h"
#include "Device/MediaRecorder.h"
#include "Interface/Log.h"

void CameraRecorder_use ()
{
    Evas_Object * img = NULL;
    /*
        img는  녹화 영상이 출력이 되는 화면 객체 입니다.
        D.I.T Library는 UI를 제외하고 설명드리겠습니다.
    */

    CameraRecorder camerarecorder = NewCameraRecorder ();
    // CameraRecorder 모듈 생성

    camerarecorder->Init (camerarecorder, "Music/VIDEO_REC.mp4", CAMERA_BACK, img);
    // 저장 될 파일 경로 설정
    // CAMERA_BACK : 후면 카메라
    // CAMERA_FRONT: 전면 카메라

    camerarecorder->Start (camerarecorder);
    // 녹화 시작

    camerarecorder->Pause (camerarecorder);
    // 녹화 일시 정지

    camerarecorder->End (camerarecorder);
    // 녹화 저장 후 모듈 종료

    DestroyCameraRecorder (camerarecorder);
    // CameraRecorder 모듈 삭제
}

Native

#include <recorder.h>
#include <camera.h>
#include <Evas.h>
#include <Elementary.h>

void CameraRecorder_use ()
{
    Evas_Object * img       = NULL;
    /*
        img는  녹화 영상이 출력이 되는 화면 객체 입니다.
        D.I.T Library는 UI를 제외하고 설명드리겠습니다.
    */
    recorder_h       camerarecorderhandle;
    camera_h         camerahandle;
    recorder_state_e status = RECORDER_STATE_NONE;
    recorder_error_e rret   = RECORDER_ERROR_NONE;
    camera_error_e   cret   = CAMERA_ERROR_NONE;

    camera_create ((camera_device_e)0, &camerahandle);
    // 0 : 후면 카메라
    // 1 : 전면 카메라

    cret = camera_set_display_mode (camerahandle, CAMERA_DISPLAY_MODE_LETTER_BOX);
    if ( camera == 1 )// if front camara
    {
        camera_set_display_rotation (camerahandle, 3);
        return;
    }

    camera_set_display (camerahandle, CAMERA_DISPLAY_TYPE_EVAS, img);
    recorder_create_videorecorder (camerahandle, &camerarecorderhandle);
    recorder_set_video_encoder (camerarecorderhandle, RECORDER_VIDEO_CODEC_MPEG4);
    recorder_attr_set_video_encoder_bitrate (camerarecorderhandle, MEDIA_DEFAULT_BITRATE);
    recorder_set_filename (camerarecorder, "/Videos/VIDEO_RECORDED.mp4");
    recorder_set_filename (camerarecorder, RECORDER_FILE_FORMAT_MP4);
    recorder_set_audio_encoder (camerarecorder, RECORDER_AUDIO_CODEC_AAC);
    recorder_attr_set_audio_encoder_bitrate (camerarecorder, MEDIA_DEFAULT_BITRATE);
    recorder_attr_set_audio_samplerate (camerarecorder, MEDIA_DEFAULT_SAMPLERATE);
    recorder_attr_set_audio_device (camerarecorder, RECORDER_AUDIO_DEVICE_MIC);

    recorder_prepare (camerarecorder);
    // 저장 될 파일 경로 설정

    recorder_start (camerarecorder);
    // 녹화 시작

    recorder_pause (camerarecorder);
    // 녹화 일시 정지

    recorder_commit (camerarecorder);
    // 녹화 저장 후 모듈 종료

    recorder_unprepare (camerarecorderhandle);
    recorder_destroy (camerarecorderhandle);
    camera_destroy (camerahandle);
    // CameraRecorder 모듈 삭제
}