2012-07-27 14 views
8

AVCaptureVideoPreviewOverlay aracılığıyla UIView numaralı telefonumda bir Video görüntülemek için AVFoundation kullanıyorum. Daha sonra 'un - captureStillImageAsynchronouslyFromConnection : uygulamasını kullanarak AVCaptureSessionPresetPhoto ön ayarlı Videodan hareketsiz bir Fotoğraf çekiyorum.Fotoğrafı çektiğim anda videoyu nasıl duraklatırım?

Daha önce bahsettiğim - captureStillImageAsynchronouslyFromConnection tamamlama bloğunda AVCaptureSession 'ın - stopRunning kullanarak videoyu donuyorum. Ancak, çok geç ve video hala fotoğraf çekilirken çalışmaya devam etti, bu yüzden dondurma ikinci veya iki saniye sonra gerçekleşir. Resmi görüntülediğimde bir sıçrama var.

Fotoğrafı çekildiği anda videoyu nasıl dondurabilirim?

+0

Tamamlama bloğunuzdaki ilk eylem olarak '-stopRunning' gerçekleştiriyor musunuz? Bu bloktaki diğer işlemler önemli miktarda zaman alabilir, bu nedenle o sırada gerçekleşen ilk şey olmasını istersiniz. –

+0

stopRunning ilk eylemdir – user1130254

+0

Video çerçevelerinizi ana iş parçacığına veya arka plan iş parçacığına mı aktarıyorsunuz? –

cevap

1

Neredeyse bir yıl sonra ... Yaklaşımınız yanlış. Videonun çekildiği andaki videoyu duraklatmaya çalışmak yerine videoyu neden duraklatmıyorsunuz ve duraklatılmış görüntüyü yakalamıyorsunuz. Bir kullanıcı için hiçbir fark yaratmaz, bir geliştiriciye kesin hassasiyet hakkında endişelenmenize gerek yoktur.

Fikrimi tekrarlamak için, bir videoyu duraklatırsanız ve beyaz bir görselle yanıp söner ve bir tık sesi oynatırsanız, kullanıcı, eğer olursanız olun, bu çerçeveyi yeni yakaladığınızı düşünecektir. Aslında videoyu duraklatmadan kaydetme ile aynı şeyi duraklatmayı düşünebilirsiniz.

İlgili konular