Not: Bu sayfada, desteği sonlandırılan Camera sınıfı ele alınmaktadır. CameraX'i veya belirli kullanım alanları için Camera2'yi kullanmanızı öneririz. Hem CameraX hem de Camera2, Android 5.0 (API düzeyi 21) ve sonraki sürümleri destekler.
Bu derste, mevcut kamera uygulamalarını kullanarak nasıl video çekileceği açıklanmaktadır.
Uygulamanızın yapması gereken bir iş var ve video entegrasyonu bunun yalnızca küçük bir parçası. Video kamerayı yeniden icat etmekle uğraşmadan, kolayca video çekmek istiyorsunuz. Neyse ki Android destekli cihazların çoğunda video kaydeden bir kamera uygulaması zaten var. Bu derste, bunu sizin için yapmasını sağlayacaksınız.
Aşağıdaki ilgili kaynaklara göz atın:
Kamera özelliğini isteme
Uygulamanızın kameraya bağlı olduğunu bildirmek için manifest dosyasına bir <uses-feature> etiketi ekleyin:
<manifest ... > <uses-feature android:name="android.hardware.camera" android:required="true" /> ... </manifest>
Uygulamanız kamera kullanıyor ancak çalışması için kamera gerekmiyorsa android:required özelliğini false olarak ayarlayın. Böylece Google Play, kamerası olmayan cihazların uygulamanızı indirmesine izin verir. Ardından, hasSystemFeature(PackageManager.FEATURE_CAMERA) yöntemini çağırarak çalışma zamanında kameranın kullanılabilirliğini kontrol etmek sizin sorumluluğunuzdadır.
Kamera kullanılamıyorsa kamera özelliklerinizi devre dışı bırakmanız gerekir.
Videoyu görüntüleyin
Android Kamera uygulaması, onActivityResult() yöntemine iletilen Intent içinde videoyu, depolama alanındaki video konumunu gösteren bir Uri olarak döndürür. Aşağıdaki kod, bu videoyu alır ve bir VideoView içinde gösterir.
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); } }