2013-04-22 73 views
6

我可以在同一時間運行Android MediaRecorder類的兩個實例?例如安卓:在同一時間媒體記錄的兩個實例

public MediaRecorder mrec1 ; 
public MediaRecorder mrec2 ; 


mrec1.setCamera(mCamera); 
mrec1.setPreviewDisplay(surfaceHolder.getSurface()); 
mrec1.setVideoSource(MediaRecorder.VideoSource.CAMERA) 
. 
. 
. 
. 
mrec2.setAudioSource(MediaRecorder.AudioSource.MIC); 
mrec2.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
mrec2.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
. 
. 
. 
. 
mrec1.prepare(); 
mrec2.prepare(); 
mrec1.start(); 
mrec2.start(); 

我得到當第二start()被稱爲我只是想知道是不是因爲已經有一個叫啓動過程或有其他問題,這個錯誤。第二個媒體記錄器實例也被初始化並在一個單獨的線程中使用。

04-22 11:08:45.869: E/MediaRecorder(7742): start failed: -2147483648 
04-22 11:08:45.869: W/dalvikvm(7742): threadid=9: thread exiting with uncaught exception (group=0x40018578) 
04-22 11:08:45.869: E/AndroidRuntime(7742): FATAL EXCEPTION: Thread-10 
04-22 11:08:45.869: E/AndroidRuntime(7742): java.lang.RuntimeException: start failed. 

回答

0
根據 documentation

除了不必要的資源(如存儲器和 編解碼器實例)被保持,如果不再需要不立即調用此方法一個 MediaRecorder對象也有可能導致連續 電池消耗爲移動設備,和用於其它應用 記錄失敗如果相同的編解碼器的無多個實例是 在設備上支持。即使相同的編解碼 的多個實例的支持,當 不必要的多個實例在同一時間使用的一些性能下降可能。

我嘗試失敗導致沒有任何。