NativeScript / NativeScript/plugins

[@nativescript/imagepicker] MediaMetadataRetriever.setDataSource fails with status = 0xFFFFFFEA

Aperta
#657 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
TypeScript
Stelle
206
Fork
123
Merge medio
2g 1h
PR unite (30g)
1

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dalla gestione Android di @nativescript/imagepicker per use_photo_picker e traccia come viene restituito item.path per un video selezionato. Riproduci il problema con MediaMetadataRetriever.setDataSource(item.path) e ThumbnailUtils.createVideoThumbnail; il lavoro è completato quando un video selezionato può essere passato alle API Android per i metadati o le miniature senza l’errore di stato segnalato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
android, typescript
Ambito
mobile
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.