2010-10-12 187 views
12

我正在爲應用程序進行研究。其中一個有趣的想法是同時從前置攝像頭和麪對照相機錄製。你們誰都知道這是否可行?iPhone4可以同時從前置攝像頭和後置攝像頭錄製嗎?

謝謝:)

編輯: 我的意思是說前方和後方攝像頭。我想從兩臺攝像機一次錄製到兩個獨立的流。我希望我更清楚一點。

+3

你指的是前,後置攝像頭或前置攝像頭和進入者的相機? – TofuBeer 2010-10-13 01:49:06

+0

道歉...正面和背面...即兩個相機一次。 – dineth 2010-10-13 02:50:57

+0

我對此感興趣,請發表任何您發現的東西,我也會這麼做! – 2011-01-02 02:00:18

回答

13

這是API允許的。我在運行最新的iOS 4.2.1的iPhone 4上嘗試了三種方法。

首先,我嘗試使用一個捕獲會話與兩個視頻設備作爲輸入附加。裝上第二裝置產生的異常:

終止應用程序由於未捕獲的異常 「NSInvalidArgumentException」的,理由是: 「*多種音頻/視頻 AVCaptureInputs目前不支持 。」

其次,我嘗試設置兩個不同的會話,每個會話只有一個攝像頭,並在同一時間啓動它們。這導致第一次會議報告幀大約一秒鐘,但第二次開始第一次停止自己的意志。您發送'startRunning'的順序決定哪個會話最終管理強制另一個會話。

最後,我嘗試了一個簡單的乒乓方法。因此,我創建了兩個會話,從第一個開始,一旦報告了一個幀,停止它並開始第二個。然後停下來,開始第一個,無限的。令人遺憾的是,請求會話開始和接收第一幀之間的延遲使我每兩秒鐘有大約一幀。

當然有可能我的代碼中犯了錯誤,但我傾向於說,這是不可能的當前硬件或操作系統。我將鉤住AVCaptureSession通知,看看我是否有明確的理由說明爲什麼停止並更新這篇文章。

此外:我的程序只接收每個捕獲會話中的一個AVCaptureSessionDidStartRunningNotification通知。停止報告不報告錯誤,中斷或其他停工。我也無法找到我的代碼問題,例如對象或調度隊列重用,這可能會導致此問題。

+2

您是否還有這個代碼來測試iOS5 ,6或7? :) – 2013-07-10 22:59:28

5

似乎可以使用AVFoundation API從多個視頻輸入進行錄製。根據documentation,可以在AVCaptureSession中使用多個AVCaptureDevice輸入。在iPhone 4中,這意味着一個會話可以同時擁有兩個攝像頭的AVCaptureDevices。實際上,這可能是不可行的。我沒有嘗試過,所以我無法確定。

我不認爲標準的UIImagePickerController可以同時用於記錄兩者。

+0

是的,你肯定會使用CoreMedia。一個好的起點.. http:// stackoverflow。com/questions/10199021/ios-capture-image-from-front-facing-camera and http://adcdownload.apple.com//videos/wwdc_2010__sd/session_409__using_the_camera_with_av_foundation.mov – Fattie 2014-02-26 12:06:54