2010-01-17 63 views
1

我想開發一個用戶程序,可以在按下停止按鈕後捕捉和保存最後30秒的視頻。保存最近30秒的視頻

1)我們是否可以控制視頻錄製?

2)我們怎樣才能得到最後30秒的視頻?

+0

有沒有任何答案幫助你?只需單擊複選標記即可將其標記爲已接受的解決方案或將其投票。請檢查您的其他問題以獲取可能的解決方案。謝謝!:)(是的,這是複製粘貼,以便新用戶知道投票系統。) – 2010-01-17 09:48:53

+0

這是這個問題的重複:http://stackoverflow.com/questions/2047257/capture-last-30-second - 視頻 - 從 - iphone – 2010-01-17 16:14:05

回答

0

關於的UIImagePickerController

UIImagePickerController類 管理系統提供的用戶界面 的選擇,並採取 圖片和電影,支持 設備。使用此類從用戶獲取這些媒體類型的一個 。 該班級管理用戶交互 並將這些 交互的結果報告給關聯的代理對象。

除了默認的攝像頭 接口,在iPhone OS 3.1和更高版本 您可以管理攝像頭的相互作用 自己,如果需要的話。您可以提供 自定義疊加視圖以顯示 自定義拍照界面和 您可以啓動拍攝來自代碼的 圖片。您的自定義 疊加視圖可以顯示在 之外或替代 圖像0​​提供的默認控件拾取器界面。

但我的問題仍然存在,我們如何管理視頻的捕獲時間?

0

一種技術是將視頻幀保存到環緩衝區。使環緩衝區足夠大以存儲30秒的視頻。使用循環緩衝區,您可以使用填充指針同時定義流的開始和結束。當你添加到緩衝區時,相應地增加指針。當用戶按下「停止」時,重寫緩衝區,以便填充指針處的數據位於緩衝區的開始處(基本上,您正在旋轉緩衝區中的所有數據,以便正確的點位於開始處)。這是您的原始視頻數據,代表最近30秒。您可能需要一個計數器來表示已經填充了多少秒,以防止在不到30秒後按停止。

3

如果我們可以設法使用UIImagePickerController以15/fps的速率獲取圖像。

然後製作大小爲15 * 30的緩衝區。

創建隊列NSMutableArray在您獲取新幀並在隊列末尾添加新幀時刪除第一幀。

最後當用戶按停止按鈕。創建一個視頻(使用自定義codac)。

我不確定,但它可以幫助。