'안드로이드 동영상 시간제한'에 해당되는 글 1건

  1. 2013.02.04 Android - Video ( 동영상촬영 용량제한 시간제한 ) (1)

Android - Video ( 동영상촬영 용량제한 시간제한 )

Android 2013.02.04 14:07

안녕하세요 ~

오늘은 동영상 촬영을 할 때 시간제한용량제한을 거는 프로젝트를 해보겠습니다.

 

채팅어플이나 기타 동영상촬영 어플을 봤을 때 제한된 용량을 벗어나면 보낼 수 없게 되는데요.

보낼 수 있게 제한을 걸어 두는 방법이라고 생각하시면 되겠네요.

 

자신이 원하는 시간만큼이나 자신이 원하는 용량만큼 동영상 촬영이 되고 자신이 원하는 디렉토리에 저장되는 것을 해보겠습니다.

 

필요한 세가지를 보고 넘어 가겠습니다.

 

첫번째 시간제한

intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 시간적는 곳);

 

두번째 용량제한

intent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, (long) (용량적는 곳));

 

세번째 저장할 파일디렉토리

intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, 파일디렉토리경로적는 곳);

 

필요한 인자 값을 원하는 값으로 넣어서 실행해 주시면 되겠습니다.

 

 

프로젝트는 버튼 하나만 추가하고 내장 카메라를 불러와 동영상 촬영을 하되 제한을 걸어 실행해보겠습니다.

이프로젝트에서는 시간은 9999로 맞쳐놓고 용량 4메라고 맞쳐서 용량이 되면 자동적으로 촬영을 멈추고 저장하는 화면으로 넘어가는 것을 살펴보겠습니다.

 

 

 

프로젝트명 : videoexam1

패키지명 : com.example.videoexam1

클래스파일 : Page_main

XML파일 : page_main

타겟 : 2.2 ~ 4.2

추가할퍼미션 :    

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>

 

 

Page_main.java

 

Page_main.java

 

package com.example.videoexam1;

import android.os.Bundle;
import android.provider.MediaStore;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;

public class Page_main extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.page_main);

Button bt1 = (Button) findViewById(R.id.button1);
bt1.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

//내장카메라 호출
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
//동영상 품질
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
//동영상 시간 제한
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 111);// 시간
//동영상 용량 제한
intent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, (long) (1024 * 1024 * 4));// 용량
//동영상 저장 경로
String mImageMovieUri = "/sdcard/Download/exam/";
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT,
mImageMovieUri);
startActivityForResult(intent, 2);

}
});

}

}

 

page_main.xml

 

page_main.xml

 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Page_main" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="Button" />

</RelativeLayout>

 

 

실행화면

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

정해진 용량만큼 촬영되고 종료되는 것을 볼 수 있습니다.

 

많은 응용 바랍니다. 문의는 댓글로 ~

 

 

 

저작자 표시
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 1 : Comment 1
  1. 2014.07.05 23:46 신고 Modify/Delete Reply

    좋은 정보 감사해요 안드로이드에 관한 글이 많네요^^
    잘활용하겠습니다.

Write a comment