참고: 이 페이지에서는 지원 중단된 Camera 클래스를 다룹니다. CameraX, 또는 특정 사용 사례의 경우 Camera2를 사용하는 것이 좋습니다. CameraX와 Camera2는 모두 Android 5.0(API 수준 21) 이상을 지원합니다.
Camera1에서 CameraX로 이전하는 방법을 알아보려면 Camera1을 CameraX로 이전을 참고하세요.
또는 Camera1에서 CameraX로 이전하기 위한 에이전트 기술을 사용할 수 있습니다.
이 과정에서는 기존 카메라 애플리케이션을 사용하여 동영상을 캡처하는 방법에 관해 설명합니다.
애플리케이션은 해야 할 작업이 있고 동영상을 통합하는 것은 애플리케이션의 작은 부분일 뿐입니다. 캠코더를 다시 개발하지 않고 최소한의 노력으로 동영상을 찍고 싶을 것입니다. 다행히 대부분의 Android 지원 기기에는 이미 동영상을 녹화하는 카메라 애플리케이션이 있습니다. 이 과정에서는 카메라 애플리케이션을 사용하여 동영상을 녹화하는 방법을 알아봅니다.
다음 관련 리소스를 참고하세요.
카메라 기능 요청
애플리케이션이 카메라를 필요로 하는지 알리려면 다음과 같이 매니페스트 파일에 <uses-feature> 태그를 삽입합니다.
<manifest ... > <uses-feature android:name="android.hardware.camera" android:required="true" /> ... </manifest>
애플리케이션에서 카메라를 사용하기는 하지만 작동하는 데 필요한 것이 아니라면 android:required를 false로 설정합니다. 그렇게 하면 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) } }
자바
@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); } }