2012-07-03 37 views
6

Tôi đã tìm kiếm để tìm thấy sdk không hỗ trợ phóng to kỹ thuật số trong hoặc ngoài, bạn phải làm điều đó gián tiếp. Cách tôi tìm thấy trên stackoverflow là biến đổi các AVCaputureVideoPreviewLayer trong khi ghi âm, và làm tương ứng chuyển đổi postprocess cho video đầu ra (ý tưởng hiện tại của tôi là sử dụng AVMutableVideoCompositionLayerInstruction's biến đổi chức năng đoạn đường nối.).zoom kỹ thuật số ios để quay video. làm thế nào để thực hiện hiệu quả?

Vấn đề là làm cách nào bạn có thể ghi lại tất cả hoạt động thu phóng liên tục của người dùng, điều tôi nghĩ có thể là thu nhỏ và thu nhỏ hành vi rất phức tạp Ví dụ, tôi thiết kế thanh trượt cho người dùng kiểm soát zoom, người dùng có thể giữ thanh trượt zoom 4x chậm (nói 3 giây cuối) và, mà không cần nhả thanh trượt, nhanh chóng phóng to 2X (nói 0,5 giây trước), tôi phải ghi lại tất cả những thay đổi này theo dòng thời gian.

Tôi thực sự cảm thấy phức tạp thu âm này, ngoài ra bạn cũng phải đảm bảo rằng nó không tốn quá nhiều tài nguyên để giữ hiệu suất mượt mà của quá trình ghi video! Hoặc bất kỳ cách nào khác để thực hiện thu phóng kỹ thuật số? Biết ơn bất kỳ người trợ giúp nào!

Trả lời

1

Bạn có thể chuyển đổi AVCaputureVideoPreviewLayer trong khi quay và sử dụng tỷ lệ thu phóng để thao tác các khung trong đại biểu AVCaptureVideoDataOutput. Phương thức ủy nhiệm captureOutput:didOutputSampleBuffer:fromConnection: có thể được sử dụng để xử lý các khung hình của video. Xem tài liệu AVFoundation AVFoundation documentation, Media Capture> Xử lý khung hình của video.

Các vấn đề liên quan