Not: Bu sayfada, desteği sonlandırılan Camera sınıfı ele alınmaktadır. CameraX veya belirli kullanım alanları için Camera2 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 video çekme hakkında bilgi verilmektedir.
Uygulamanızın yapması gereken bir iş vardır ve video entegrasyonu bu işin yalnızca küçük bir parçasıdır. Video çekmek için çok fazla uğraşmak istemiyorsunuz ve video kamerayı yeniden icat etmek istemiyorsunuz. Neyse ki Android işletim sistemli çoğu cihazda video kaydeden bir kamera uygulaması zaten mevcuttur. Bu derste, bunu sizin yerinize yapmasını sağlarsınız.
Aşağıdaki ilgili kaynaklara göz atın:
Kamera özelliğini isteme
Uygulamanızın kameraya ihtiyaç duyduğunu belirtmek 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ıyorsa ancak çalışması için kameraya ihtiyaç duymuyorsa android:required
değerini false
olarak ayarlayın. Bu durumda Google Play, kamerası olmayan cihazların uygulamanızı indirmesine izin verir. Ardından, hasSystemFeature(PackageManager.FEATURE_CAMERA)
çağrısını yaparak çalışma zamanında kameranın kullanılabilir olup olmadığını kontrol etmek sizin sorumluluğunuzdadır.
Kamera yoksa kamera özelliklerinizi devre dışı bırakmanız gerekir.
Videoyu görüntüleyin
Android Kamera uygulaması, videoyu Intent
içinde onActivityResult()
'a Uri
olarak döndürür. Bu Uri
, depolama alanındaki video konumunu gösterir. Aşağıdaki kod, bu videoyu alır ve 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); } }