Video kaydetme

Not: Bu sayfa, kullanımdan kaldırılan Kamera sınıfıyla ilgilidir. KameraX veya belirli kullanım alanlarında Kamera2 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 yapılması gereken işler var ve videoları entegre etmek işin yalnızca küçük bir kısmını oluşturuyor. Videoları minimum düzeyde karmaşaya dönüştürmek ve video kamerayı yeniden tasarlamak istememeniz gerekir. Neyse ki Android destekli çoğu cihazda video kaydeden bir kamera uygulaması zaten var. Bu derste, bunu sizin için yapmayı öğreneceksiniz.

Aşağıdaki ilgili kaynaklara bakın:

Kamera özelliğini isteyin

Uygulamanızın bir kameraya bağlı olduğunu bildirmek için manifest dosyasına bir <uses-feature> etiketi yerleştirin:

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

Uygulamanızın çalışması için kamera kullanıyor ancak gerekmiyorsa android:required değerini false olarak ayarlayın. Böylece Google Play, kamerası olmayan cihazların uygulamanızı indirmesine izin verir. Bu durumda, 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ı, Intent içinde onActivityResult() adresine gönderilen videoyu, depolama alanındaki video konumunu işaret eden 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);
    }
}