2013-04-22 30 views
6

Tôi có thể chạy hai phiên bản của lớp Android MediaRecorder cùng một lúc không? Ví dụAndroid: Hai phiên bản của Máy ghi phương tiện cùng lúc

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(); 

tôi nhận được lỗi này khi khởi động thứ hai() được gọi là tôi chỉ muốn biết là nó vì đã có một quá trình bắt đầu gọi hoặc có một số vấn đề khác. Ngoài ra, thể hiện của trình ghi phương tiện thứ hai được khởi tạo và được sử dụng trong một luồng riêng biệt.

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. 

Trả lời

0

theo documentation:

Ngoài các nguồn lực cần thiết (chẳng hạn như bộ nhớ và các trường hợp codec) được tổ chức, thất bại trong việc gọi phương thức này ngay lập tức nếu một đối tượng MediaRecorder không còn cần thiết cũng có thể dẫn đến việc sử dụng pin liên tục cho thiết bị di động, và lỗi ghi cho các ứng dụng khác nếu không có nhiều phiên bản của cùng một codec là được hỗ trợ trên thiết bị. Ngay cả khi nhiều phiên bản của cùng một codec được hỗ trợ, một số suy giảm hiệu suất có thể được mong đợi khi nhiều phiên bản không cần thiết được sử dụng cùng một lúc.

Nỗ lực không thành công của tôi cũng không dẫn đến việc gì.

Các vấn đề liên quan