동영상 녹화

참고: 이 페이지에서는 지원 중단된 Camera 클래스를 다룹니다. CameraX, 또는 특정 사용 사례의 경우 Camera2를 사용하는 것이 좋습니다. CameraX와 Camera2는 모두 Android 5.0(API 수준 21) 이상을 지원합니다.

이 과정에서는 기존 카메라 애플리케이션을 사용하여 동영상을 캡처하는 방법에 관해 설명합니다.

애플리케이션은 해야 할 작업이 있고 동영상을 통합하는 것은 애플리케이션의 작은 부분일 뿐입니다. 캠코더를 다시 개발하지 않고 최소한의 노력으로 동영상을 찍고 싶을 것입니다. 다행히 대부분의 Android 지원 기기에는 이미 동영상을 녹화하는 카메라 애플리케이션이 있습니다. 이 과정에서는 카메라 애플리케이션을 사용하여 동영상을 녹화하는 방법을 알아봅니다.

다음 관련 리소스를 참고하세요.

카메라 기능 요청

애플리케이션이 카메라를 필요로 하는지 알리려면 다음과 같이 매니페스트 파일에 <uses-feature> 태그를 삽입합니다.

<manifest ... >
    <uses-feature android:name="android.hardware.camera"
                  android:required="true" />
    ...
</manifest>

애플리케이션에서 카메라를 사용하기는 하지만 작동하는 데 필요한 것이 아니라면 android:requiredfalse로 설정합니다. 그렇게 하면 Google Play에서 카메라가 없는 기기도 애플리케이션을 다운로드할 수 있습니다. 그런 다음 앱은 런타임 시 hasSystemFeature(PackageManager.FEATURE_CAMERA)를 호출하여 카메라의 사용 가능 여부를 확인해야 합니다. 카메라를 사용할 수 없는 경우 카메라 기능을 중지합니다.

동영상 보기

Android 카메라 애플리케이션은 onActivityResult()에 전달된 Intent에 저장소의 동영상 위치를 가리키는 Uri로 동영상을 반환합니다. 다음 코드는 이 동영상을 가져와서 VideoView에 표시하는 방법을 보여줍니다.

Kotlin

override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent) {
    if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) {
        val videoUri: Uri = intent.data
        videoView.setVideoURI(videoUri)
    }
}

Java

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) {
        Uri videoUri = intent.getData();
        videoView.setVideoURI(videoUri);
    }
}