2

當您使用android mediarecorder時,您必須先準備好,然後才能啓動它。在準備你的同時還有來設置一個輸出文件。如何在不將記錄保存到文件的情況下啓動android mediarecorder?

一旦通過調用mMediaRecorder.start()啓動媒體錄像機,您就可以運行相機預覽。 當您致電mMediaRecorder.stop()時,錄製將停止,但相機預覽會繼續顯示預覽。

現在,我想能夠做的是啓動媒體錄像機的相機預覽,但不開始錄製。只顯示預覽。

我該怎麼做?

我現在正在做的是啓動mediarecorder,然後立即停止它,然後刪除輸出文件。然而,這是一個非常討厭的解決方法...

+1

爲什麼不打開相機,給它一個SurfaceHolder,並調用startPreview(),如http://developer.android.com/reference/android/hardware/Camera.html中所述? – Iain

+0

您定位的平臺版本是?對於API 18+,請參閱https://github.com/google/grafika中的「顯示+捕獲相機」。 – fadden

+0

查看此相關解決方案:http://stackoverflow.com/questions/13974234/android-record-mic-to-bytearray-without-saving-audio-file/42750515#42750515 –

回答

1

您不必準備錄音機(或任何部分MediaRecorder本身)以獲得預覽。預覽由Camera處理,而不是MediaRecorder。該developer guide顯示了這些步驟,以捕捉視頻:

  1. 打開相機
  2. 連接預覽
  3. 開始預覽
  4. 開始錄製視頻
  5. 停止錄製視頻
  6. 停止預覽
  7. 發佈相機

注意,開始預覽來之前開始錄音。如果您只想顯示預覽,則可以完全省略步驟4和5。

當然,開發人員指南中的示例代碼有點掩蓋了這一點。你可以找到這個here的一個很好的例子。代碼的目標是2.2,但它應該在新平臺上無/輕微更改。

相關問題