Tôi đang sử dụng android.provider.MediaStore.ACTION_VIDEO_CAPTURE
. Tôi đã tự hỏi nếu có một cách để thay đổi thời gian tối đa cho phép cho mỗi bản ghi âm. TÔI ĐÃ ĐƯỢC THÊM Intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT,60000);//max of 60 seconds
nhưng nó vẫn tiếp tục ghi lại. Cảm ơn trước.Có thể đặt thời gian tối đa cho phép ghi âm android bằng ý định không?
Trả lời
Sử dụng MediaRecorder
/**
* Starts a new recording.
*/
public void start() throws IOException {
recorder = new MediaRecorder();
String state = android.os.Environment.getExternalStorageState();
if (!state.equals(android.os.Environment.MEDIA_MOUNTED)) {
throw new IOException("SD Card is not mounted. It is " + state
+ ".");
}
// make sure the directory we plan to store the recording in exists
File directory = new File(path).getParentFile();
System.out.println("start() directory > " + directory);
if (!directory.exists() && !directory.mkdirs()) {
throw new IOException("Path to file could not be created.");
}
recorder.setAudioSource(MediaRecorder.AudioSource.MIC); // Sets the
// audio source
// to be used
// for recording
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); // Sets
// the
// format
// of
// the
// output
// file
// produced
// during
// recording.
// 5 Minutes = 300000 Milliseconds
recorder.setMaxDuration(300000); // Sets the maximum duration (in ms) of
// the recording session
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); // Sets the
// audio
// encoder
// to be
// used for
// recording.
recorder.setOutputFile(path); // Sets the path of the output file to be
// produced.
recorder.prepare(); // Prepares the recorder to begin capturing and
// encoding data.
recorder.start(); // Recording is now started
}
Cảm ơn bạn Jennifer, tôi đã thử sử dụng bộ ghi phương tiện để quay video nhưng không ổn định trên một số nền tảng như Samsung Galaxy. Tôi đã hy vọng rằng có một cách để chỉ cần thêm một thời gian tối đa bởi vì tôi cần tất cả mọi thứ mà mục đích action_capture sử dụng. Bất kỳ ý tưởng? – user875139
u đã thử: android.provider.MediaStore.EXTRA_DURATION_LIMIT phải không ?? – jennifer
Vâng, tôi đã thử điều đó và intent.putExtra này ("android.intent.extra.durationLimit", 60000) ;. Vẫn không có gì. – user875139
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra("android.intent.extra.durationLimit", 30000);
intent.putExtra("EXTRA_VIDEO_QUALITY", 0);
startActivityForResult(intent, ActivityRequests.REQUEST_TAKE_VIDEO);
Mã này hoạt động tốt trên API 2.2, nhưng giới hạn thời gian không hoạt động trên API 2.1
android.intent.extra.durationLimit
được giới thiệu vào API Level 8,
vì vậy nó không có sẵn trong Eclair và trước đó, thật không may. Một số nhà sản xuất thiết bị có thể có một cách độc quyền để thiết lập thời lượng tối đa trên các thiết bị cũ hơn, điều này giải thích lý do tại sao bạn thấy điều này làm việc trên một số ứng dụng trước Froyo.
bạn có thể thấy cấp API mà tại đó mỗi biến được giới thiệu bằng cách nhìn sang bên phải của thanh màu xám trên trang web tài nguyên Android. Ví dụ: xem biến này (và cấp API) tại đây: http://developer.android.com/reference/android/provider/MediaStore.html#EXTRA_DURATION_LIMIT – jennifer
Kiểm tra liên kết này cũng: http://www.netmite.com /android/mydroid/donut/packages/apps/Camera/src/com/android/camera/VideoCamera.java .. Nó sẽ hữu ích cho bạn – jennifer
Tôi gặp lỗi ActivityRequests ở đây? –
Thực tế, MediaStore.EXTRA_DURATION_LIMIT
cung cấp thời gian trong giây, KHÔNG tính bằng mili giây! Vì vậy, bạn chỉ cần thay đổi giá trị của bạn 60.000-60;) Android Documentation
Sử dụng này, đây là 60 thứ hai Code: intent.putExtra (MediaStore.EXTRA_DURATION_LIMIT, 60);
Trong 30 giây, hãy thử mã này.
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 30);
- 1. TV AIR - có thể giới hạn bộ nhớ tối đa cho thời gian chạy không?
- 2. UIImagePickerController - Đặt thời lượng video tối đa
- 3. Thời gian tối đa() | PHP
- 4. Android: cách phát nhạc ở mức tối đa có thể?
- 5. Đặt thời gian thực thi tối đa cho exec() cụ thể
- 6. Đặt thời gian thực hiện tối đa trong MYSQL/PHP
- 7. Giá trị tối thiểu và tối đa của UIDatePicker có thể bao gồm thời gian không?
- 8. Tính thời gian ngày Khoảng thời gian tối thiểu, tối đa và lớn nhỏ nhất
- 9. Thời gian thực hiện tối đa cho JavaScript
- 10. Tôi có thể đặt thời gian mặc định cụ thể cho trường datetime Django không?
- 11. Thời gian tối đa cho HTML metatag refresh
- 12. Tăng thời gian thực hiện tối đa cho php
- 13. Làm cách nào để đặt thời gian thực thi tối đa cho bài đăng ajax bằng jQuery?
- 14. Thêm thời gian chờ cố ý bằng cách thể hiện
- 15. Bạn có thể xác định bộ lọc ý định Android bằng tài nguyên chuỗi không?
- 16. Cách ổn định để đặt Thời lượng tối đa cho MediaStore.ACTION_VIDEO_CAPTURE
- 17. Phép tối ưu hóa không hoạt động bình thường đối với một TextView đa dòng với chiều cao tối đa tùy ý
- 18. Template cách tìm giá trị tối đa cho phép
- 19. Đường dẫn tệp tối đa được phép trong Android
- 20. TSQL Thời gian tối thiểu mặc định
- 21. Cách tăng thời gian thực hiện tối đa trong php
- 22. Xử lý âm thanh theo thời gian thực trong Android
- 23. Ghi thời gian giới hạn của Android bằng cách sử dụng mục đích
- 24. Có thể ghi nhớ tận dụng tối đa đa lõi không?
- 25. xử lý lỗi thời gian thực thi tối đa
- 26. Thời gian hết hạn ghi nhớ
- 27. Đa nhiệm trên iOS cho ứng dụng Ghi âm thanh
- 28. Chồng chéo khoảng thời gian tối đa bằng cách sử dụng một cây khoảng cách
- 29. Thời gian thực hiện tối đa 30 giây vượt quá
- 30. Lỗi bẫy thời gian thực thi tối đa Php bẫy
Xin lưu ý rằng MediaStore.EXTRA_DURATION_LIMIT không được tính bằng giây, không phải là mili giây. Nó chỉ hoạt động cho các thiết bị sau 2.0. – user953768