我正在構建一個攝像頭應用程序,其中的視頻不斷被捕獲並保存到SD卡。視頻很短(幾分鐘),並且它們的長度通過setMaxDuration()預設。Android:如何在沒有有效表面的情況下初始化MediaRecorder進行視頻預覽?
整個過程正常,主要活動在前臺。但是,當我轉到其他活動(例如設置)時,視頻錄製將在後臺運行,直到達到最大持續時間。該文件已保存,但無法啓動新序列 ,因爲prepare()失敗,顯然是因爲setPreviewDisplay()不喜歡沒有合適的曲面來附加。我試圖使用一個虛擬Surface,一個虛擬SurfaceHolder,lockCanvas()和其他各種技巧,但沒有任何工作。有沒有一種方法來初始化沒有有效表面的MediaRecorder?
是的,我已經實現了Surface回調。有一個有效的預覽表面時,一切正常。但是,即使離開主要活動,我也想記錄。無論預覽表面是否可見,該應用程序都應能夠開始視頻錄製。但是,我嘗試的所有內容都表明,Android尚不能實現這一點。任何人都可以證明我錯了嗎? – Robert 2010-07-13 12:34:18