NativeScript / NativeScript/plugins
[@nativescript/imagepicker] MediaMetadataRetriever.setDataSource fails with status = 0xFFFFFFEA
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- TypeScript
- Star
- 206
- Fork
- 123
- Merge trung bình
- 2 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 1
Mô tả
Device: Samsung S21
Description
When selecting a video using @nativescript/imagepicker, the returned file path is a content:// URI.
Calling Android APIs such as:
android.media.MediaMetadataRetriever.setDataSource(item.path);
or
android.media.ThumbnailUtils.createVideoThumbnail(item.path, ...)
throws:
Error: java.lang.RuntimeException: setDataSource failed: status = 0xFFFFFFEA
This happens because these overloads expect a real filesystem path, not a content:// URI.
Steps to Reproduce
Create imagepicker:
let imagePickerObj = imagePickerPlugin.create({
mode: "multiple", android: { use_photo_picker: true }});
Pick a video from gallery.
Try to generate metadata or thumbnail:
let retriever = new android.media.MediaMetadataRetriever();
retriever.setDataSource(item.path); // crashes
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với phần xử lý Android của @nativescript/imagepicker cho use_photo_picker và theo dõi cách item.path được trả về đối với một video đã chọn. Tái hiện lỗi bằng MediaMetadataRetriever.setDataSource(item.path) và ThumbnailUtils.createVideoThumbnail; công việc được xem là hoàn tất khi một video đã chọn có thể được truyền vào các API metadata hoặc thumbnail của Android mà không gặp lỗi trạng thái đã báo cáo.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- android, typescript
- Lĩnh vực
- mobile
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 38/100