Con l'app Google Foto, sto provando a selezionare un video, che non è memorizzato nella cache del dispositivo.Come ottenere video (non locali) dall'app Google Foto
Sto utilizzando l'intento ACTION_GET_CONTENT per avviare la finestra di dialogo delle opzioni e da lì ho scelto l'app Google Foto.
Durante la selezione di video locali, restituisce un Uri in questo modulo.
contenuti: // multimediale/esterno/video/media/6708
E questo, mi interrogano il fornitore di contenuti per recuperare la posizione del file vero e proprio, e procedere da lì. La posizione del file è simile a questa.
/stoccaggio/emulato/0/WhatsApp/Media/WhatsApp Video/VID-20.131.102-WA0000.mp4
Ora, quando scelgo un video online, vale a dire: un video non disponibile su il mio dispositivo ancora, e che deve essere scaricato da utilizzare, l'Uri tornato assomiglia a questo:
contenuti: //com.google.android.apps.photos.content/1/ https://lh6.googleusercontent.com/_RD-QTO_SK5jlaPldTe2n5GANqMc3h-ukcbNoFlF1NLy=s0-d
Ora, con questo, non c'è ContentProvider documentato che possa aiutarmi a ottenere il link effettivo a questo video. Anche se faccio una query, non restituisce nulla a parte le colonne DISPLAY_NAME e SIZE.
DISPLAY_NAME contiene video.mpeg (nome visualizzato lo stesso per i diversi video)
TAGLIA probabilmente mi dice la dimensione del file effettivo.
ho controllato vari post, e ho pensato che avrei dovuto ottenere un InputStream per il video attraverso il fornitore di contenuti, salvare il file, e lavorare con il file. Scegliere un file immagine funziona comunque, ma con il video no.
Quindi, per copiare lo stream su un file, ho questo codice.
InputStream inputStream = context.getContentResolver().openInputStream(Uri.parse(path));
E infine scrivere in un file temporaneo. Il file viene creato, ma non sembra essere formattato correttamente. VLC riproduce il file, ma mostra solo il primo fotogramma in tutto.
Se prendo l'URL dall'ultima parte dell'URI di cui sopra, e provo a visualizzarlo su un browser, scarica un file GIF. Sto indovinando che è il problema. Ma non so come ottenere il formato mpeg del video.
Chiunque ha vissuto lo stesso?
Massive grazie per questo, questo ha aiutato molto! Ecco una domanda correlata e risposta accettata: http://stackoverflow.com/q/30572261/3309883 –