2014-01-24 32 views
0

請考慮以下情形:使用AVFoundation,我可以在用戶按下按鈕時捕獲最後5秒

用戶使用相機和自定義按鈕作爲主視圖加載應用程序。 關於相關視圖控制器的viewDidLoad我正在啓動一個AVSession(所以它現在正在運行) 用戶點擊自定義按鈕的時刻我想在用戶按下該按鈕之前捕捉5秒的視頻。當然這可能少於5秒。

我該如何去實施這個?我一直在看AVFoundation一天左右,試圖學習基本概念,並且它對我來說慢慢有意義,而且我現在使用Apple的AVCam項目,這非常有幫助。

在這個階段,我非常歡迎指向我應該關注的類,概念說明或代碼片段的指針。

謝謝

編輯:什麼我想實現的,基本上當我打電話startRunning我AVSession,將更新預覽層我在應用多一點信息,所以用戶可以看到他們將拍攝什麼。我還想讓這些數據流式傳輸到一個緩衝區/文件,該文件可以在點擊按鈕時保存。

感謝

+0

Stefan的回答是正確的。唯一的選擇是連續錄製電影並將其保存到應用程序臨時目錄中。當用戶按下按鈕時,您需要將該視頻剪裁到最近5秒鐘。由於您不知道用戶需要多長時間才能按下。 –

回答

2

如何連續記錄到一個文件,然後按下按鈕時複製從該文件最後5秒?

在內存中緩衝視頻將永遠不會工作,並且據我所知,如果不保存到文件就無法獲得硬件壓縮。

+0

我很想看到這個BTW的實際實現,這是一個非常有趣的用例。 –

+0

感謝您的回覆。我將不得不考慮錄製到臨時目錄中。如果我設法實現它,我會嘗試更新這篇文章。 –

+0

昨天我也對將原始數據記錄到內存緩衝區,然後使用資產編寫器進行壓縮並保存到磁盤這個瘋狂的想法。這可能會允許完全控制緩衝區和內容,但內存使用情況可能會在4/4時出現問題。 –

相關問題