安卓:在同一时间媒体记录的两个实例
问题描述:
我可以在同一时间运行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.
答
根据
documentation
:
除了不必要的资源(如存储器和 编解码器实例)被保持,如果不再需要不立即调用此方法一个 MediaRecorder对象也有可能导致连续 电池消耗为移动设备,和用于其它应用 记录失败如果相同的编解码器的无多个实例是 在设备上支持。即使相同的编解码 的多个实例的支持,当 不必要的多个实例在同一时间使用的一些性能下降可能。
我尝试失败导致没有任何。