2011-10-31 32 views
5

Android Dev có một số mã dễ dàng mô tả cách khởi động máy quay thông qua Intents.Android - Cách bắt đầu quay video tự động khi gọi mục đích máy ảnh

Bây giờ điều này là tốt nếu bạn chỉ muốn khởi động máy ảnh và chờ người dùng nhấn nút "REC" màu đỏ.

Nhưng tôi muốn gọi máy quay qua Intent và yêu cầu nó bắt đầu ghi chương trình.

Tôi làm như thế nào? Tôi có truyền một số kiểu start() trong lệnh Intent không?

(nếu không thể thực hiện được, vui lòng chỉ cho tôi một bit mã đơn giản có thể được thiết lập để quay video tự động - Tôi đã tìm kiếm trên web, nhưng tất cả các đoạn mã liên quan đến vấn đề này không hoạt động)

private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100; 
private Uri fileUri; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 

// create Intent to take a picture and return control to the calling application 
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 

fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // create a file to save the image 
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name 

// start the image capture Intent 
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE); 
} 

Trả lời

1

Đối với điều này, bạn nên sử dụng lớp MediaRecorder.

hãy có một cái nhìn lúc này:

http://developer.android.com/reference/android/media/MediaRecorder.html

+0

Tôi biết về lớp MediaRecorder và đã trải qua các ví dụ mã mà chúng có trong Hướng dẫn dành cho nhà phát triển. Nhưng các ví dụ mã thiếu độ chính xác. Rất khó để biết cách sử dụng mã. – user1020196

0

Tôi đã tìm thấy một workaround trên một thiết bị bắt nguồn từ. Đầu tiên, bắt đầu ghi âm theo cách thông thường với Intent (sử dụng startActivity(), không phải startActivityForResult()). Thứ hai, gửi mã khóa CAMERA với 'keyevent 27'. Phép thuật của nó! Nó bắt đầu ghi âm. Bạn có thể nên bấm lại (mã 4) sau khi kết thúc ghi âm.

Toàn bộ dãy phím là:

  1. CAMERA: bắt đầu ghi hình (bộ đếm thời gian xuất hiện trên màn hình). Để gửi một chút sau khi gửi mục đích an toàn cho ,
  2. DPAD_DOWN, DPAD_RIGHT và cuối cùng là DPAD_CENTER là cần thiết để xác thực cảnh quay!
  3. BACK để quay lại hoạt động của bạn.
+0

bạn có thể vui lòng cho tôi biết cách tôi có thể gửi sự kiện khóa đầu vào không? –

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