'안드로이드 비디오'에 해당되는 글 3건

  1. 2013.02.04 Android - Video ( 동영상촬영 용량제한 시간제한 ) (1)
  2. 2011.10.20 Android - Video play (온라인상 동영상 재생)
  3. 2011.10.20 Android - VideoView ( 동영상첨부파일 재생하기 )

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


Android - Video play (온라인상 동영상 재생)

Android 2011.10.20 20:53
첫번째로 동영상을 첨부해서 직접 VideoView도구를 사용하여서 재생하는 것을 살펴보았습니다.
이번에 살펴볼 내용은 온라인상에 있는 동영상 주소를 통해서
동영상을 재생하는 것을 살펴보겠습니다.

VideoView도구를 쓰지 않고 버튼 클릭으로 동영상주소를 불러와서 바로 실행하는 것입니다.
연결만 해주면 기본적인 안드로이드 비디오재생 툴로 재생이 바로 됩니다.

Intent를 사용하는데요.
Intent에 대한 설명은 액티비티 이동에 잠깐 설명해놓았습니다.

여기서는
Intent(Intent.ACTION_VIEW) 를 사용하여서 동영상을 실행합니다.

그럼 실습을 통해서 살펴보겠습니다.


프로젝트 생성

Project name : ExamActivity
Build Target : Android 2.1
Package name : jsh.exam.activity
Create Activity : main
Min SDK Version : 7



src

main.java

package jsh.exam.video;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class main extends Activity implements OnClickListener{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        //버튼 선언
        Button bt1 = (Button) findViewById (R.id.button1);
       
        //버튼 이벤트처리
        bt1.setOnClickListener(this);
    }

 @Override
 public void onClick(View arg0) {
  // TODO Auto-generated method stub
  
  //뷰 인텐트 사용
  Intent it = new Intent(Intent.ACTION_VIEW);
  //재생할 동영상 주소
  Uri uri = Uri.parse("실행할 온라인상 동영상주소");
  //재생할 동영상주소와 동영상코덱 설정
  it.setDataAndType(uri, "video/mp4");
  //액티비티 실행
  startActivity(it);
  
  
  
 }
}



res

main.xml



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="
http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <Button
  android:text="Button"
  android:id="@+id/button1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"></Button>
</LinearLayout>


실행결과

 

 

저작자 표시
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 : Comment 0

Write a comment


Android - VideoView ( 동영상첨부파일 재생하기 )

Android 2011.10.20 20:39

예전에 사운드 재생을 해봤는데요
오늘은 동영상을 재생을 한번 해보겠습니다.
온라인상에 있는 동영상을 재생하는 방법과 동영상파일을 첨부해서 재생시키는 두가지 방법을 살펴볼텐데요.
먼저 VideoView 도구를 이용한 첨부파일 동영상을 재생시키는 것을 살펴보겠습니다.

재생할 동영상을 res폴더에 raw폴더를 생성 후 raw폴더에 재생할 동영상을 넣습니다.


안드로이드에서 지원하는 동영성 코덱을 잘 알아보시고 넣어주시기 바랍니다.
필자는 wmv가 안되는 것을 모르고 왜 안되지 왜 안되는거야 하면서 이리저리 찾다가 알았습니다.
mp4가 기본적으로 지원하고 avi도 지원하는 것 같습니다.

그럼 VideoView를 사용하여 동영상을 재생해보겠습니다.

먼저 비디오를 재생하면 기본적으로 화면이 어떻해 재생되는 지 알죠?
가로입니다. 가로고정을 시켜줘야 합니다. 세로로해도 무난하지만 기본에 충실합시다.



프로젝트 생성

Project name : ExamOptionsMenu
Build Target : Android 2.1
Package name : jsh.exam.option
Create Activity : main
Min SDK Version : 7



src

main.java

package jsh.exam.video;

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;

public class ExamvideoActivity extends Activity {
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  // 생성한 비디오뷰를 선언
  VideoView videoView = (VideoView) findViewById(R.id.videoView1);

  // 비디오뷰를 커스텀하기 위해서 미디어컨트롤러 객체 생성
  MediaController mediaController = new MediaController(this);

  // 비디오뷰에 연결
  mediaController.setAnchorView(videoView);
  // 안드로이드 res폴더에 raw폴더를 생성 후 재생할 동영상파일을 넣습니다.
  Uri video = Uri.parse("android.resource://" + getPackageName()
    + "/raw/동영상파일이름");
  
  //비디오뷰의 컨트롤러를 미디어컨트롤로러 사용
  videoView.setMediaController(mediaController);
  
  //비디오뷰에 재생할 동영상주소를 연결
  videoView.setVideoURI(video);

  //비디오뷰를 포커스하도록 지정
  videoView.requestFocus();

  //동영상 재생
  videoView.start();

 }
}


res

main.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="
http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <VideoView
  android:id="@+id/videoView1"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:layout_gravity="center"></VideoView>
</LinearLayout>


실행결과





프로젝트안에 첨부된 동영상파일이
재생되는 것을 볼 수 있습니다.
저작자 표시
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 : Comment 0

Write a comment