2010-11-08 31 views
5

Tôi đang có một con heo thời gian tạo tính năng quay video cơ bản trong ứng dụng của mình. Tôi muốn gọi công cụ quay video mặc định là thiết bị của tôi và đã lưu tệp đó vào một vị trí cụ thể. Từ tài liệu này có thể đạt được bằng cách cung cấp Uri trong EXTRA_OUTPUT, tuy nhiên điều đang xảy ra là điều này hoàn toàn bị bỏ qua và video thực sự được ghi vào vị trí lưu trữ phương tiện thông thường.Quay video bỏ qua tình trạng khó xử của EXTRA_OUTPUT

Mã của tôi rất đơn giản:

 Intent i = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE); 
     String SD_CARD_TEMP = Environment.getExternalStorageDirectory() 
     + File.separator + MEDIA_TEMP ;  
     i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.parse(SD_CARD_TEMP));  
     startActivityForResult(i, ACTIVITY_CAPTURE_VIDEO); 

Các MEDIA_TEMP liên tục được thiết lập để 'media_temp'. Tôi cũng đã thử sử dụng một tập tin chứ không phải là một chuỗi và sử dụng Uri.fromFile() nhưng điều đó không có sự khác biệt.

Nếu ai có bất kỳ ý tưởng là tại sao mã này không được hành xử như các tài liệu nói nó nên .. xin vui lòng cho tôi biết :-)

PS. Phát triển đang được thực hiện trực tiếp trên HTC Desire HD, không Emulator ..

Cảm ơn,

Dave

+0

Nó đang làm việc với mã của tôi trên HTC mong muốn HD của tôi (os 2.2). Vì vậy, có thể nó được sửa trong bản phát hành hệ điều hành này hoặc một cái gì đó khác. Tôi biết đây là một bài viết cũ nhưng chỉ không muốn bất cứ ai mã hóa chống lại HTC mong muốn hd từ bỏ cố gắng – dds

Trả lời

3

Tôi gặp vấn đề tương tự. Nó hoạt động trên Android nhưng không hoạt động trên các thiết bị HTC hoặc SonyEricsson.

Dường như ứng dụng cam của họ hoạt động khác với mặc định.

Tôi nghĩ khả năng duy nhất là yêu cầu nhà cung cấp phương tiện truyền thông ghi lại video mới nhất và nhận được đường dẫn từ video đó. Sau đó sao chép tệp vào thư mục của riêng bạn và xóa tệp đó khỏi nhà cung cấp phương tiện.

Không phải rất thông minh và dễ bị lỗi, nhưng có thể là cách duy nhất.

Có ai đó có ý tưởng hay hơn không?

+0

Ý tưởng thú vị ... đó có thể là một workafe tốt failsafe – Dave

+0

hiện ý tưởng này làm việc? làm thế nào để có được video ghi lại cuối cùng? – ghostCoder

1

tôi đang làm một cái gì đó tương tự như trên Nexus One và nó hoạt động, nhưng cùng mã không hoạt động trên HTC aria. do đó, nó có thể là một cái gì đó để làm với các hoạt động đang thực sự chạy trên các thiết bị khác nhau và nếu họ tôn trọng tham số đó hay không.

6

Sau khi trải qua 13 tiếng đồng hồ cố gắng tìm ra những gì đã xảy ra với API camera này ...

Tôi đã sử dụng mục đích camera và EXTRA_OUTPUT để xác định nơi để lưu các tập tin vào, và nó đã bị bỏ qua !

Ứng dụng này làm việc một vài tuần trước đây, và không nâng cấp hệ điều hành đã xảy ra trong thời gian đó ..

tôi có thể đã tìm ra nguồn gốc của vấn đề:

Nếu có bất kỳ ứng dụng được cài đặt trên điện thoại tương tác với hoặc chặn API camera, một số API có thể bị hỏng!

tôi phát hiện ra điều này sau khi một gỡ lỗi marathon 13 giờ, thử tất cả các kết hợp API có thể, và sau tất cả những gợi ý trên stackoverflow ..

tay của tôi đã nhận được mệt mỏi cầm điện thoại, vì vậy tôi đã xây dựng một chiếc điện thoại nổi bật của một đồng nghiệp để gắn điện thoại vào bàn của tôi, với máy ảnh chỉ vào một cái lọ bơ đậu phộng.

Trong một giai đoạn may mắn, khi tôi đang gỡ lỗi với ảnh của mình về bơ đậu phộng, Ứng dụng Google Goggles xuất hiện một thông báo cho biết rằng "đã nhận ra" một cái gì đó trong hình ảnh của tôi!

Điều này đã nhắc tôi gỡ cài đặt kính bảo hộ google, và tất cả các hình ảnh đột ngột bắt đầu lưu vào Uri tùy chỉnh của tôi giống như chúng đã từng sử dụng !!!

Đây là trên một tầng mặt trời của Samsung.

+1

+1 cho chuyến đi bạn vừa đưa tôi đi. Tôi cảm thấy như tôi đang ngồi bên cạnh bạn chụp những bức ảnh vô tận của một lọ bơ đậu phộng. –

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