1

I'm trying to get a load a mp4 file from the android file browser. However the path from the following code does not work. It throws an exception

 Uri currFileURI = data.getData(); String path=currFileURI.getPath(); MediaExtractor extractor = new MediaExtractor(); try { extractor.setDataSource(path); } catch( IOException e) { e.printStackTrace(); return; } 

Data I have:

data = {Intent@9869} "Intent { dat=content://com.android.providers.downloads.documents/document/44 flg=0x1 }" currFileURI = {Uri$HierarchicalUri@9870} "content://com.android.providers.downloads.documents/document/44" path = "/document/44"

I see this code in stackoverflow: How to get the Full file path from URI

This looks like an overkill

I can see the method takes in a file path. https://developer.android.com/reference/android/media/MediaExtractor#setDataSource(java.lang.String)

So it looks the path from the android file browser is different from what the method wants. I also see that the path from the file browser is different than the file name. Anybody have an insight into what the path should look like?

1 Answer 1

1

So it looks the path from the android file browser is different from what the method wants

It is not a filesystem path, because a Uri is not a file.

I can see the method takes in a file path

There are many forms of setDataSource() on MediaExtractor, including one that takes a Uri. Try using that method with your Uri.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.