I'm Building Taskito
I'm Building Taskito
Get it on Google Play

Get Metadata of Audio files using Cursor in Android

We are building a music app and as you would have guessed we would require all the audio metadata. At first, we tried using Android’s Intent but it would let us select only one audio file at a time. Also, there was a setback if the user had disabled the default music player and other player did not listen to this intent. So we tried to look up for other ways to obtain metadata of all the audio files. We first used MediaMetaDataRetriever but it would give null String for some of the audio objects.

After a bit of searching, we found an easy method which would give us all of the required metadata and that too very quickly. We used Android’s ContentResolver to query external audio files of the device.

Query using ContentResolver

Extracting Metadata from Cursor

After getting the cursor, we would extract the metadata and create new instances of QueryObject (our class to handle audio queries) for each entry.

To show all these audio files, we were using custom ArrayAdapter and ListView.

P.S. The app is turning out to be really cool.

Playing around with Android UI

Articles focusing on Android UI - playing around with ViewPagers, CoordinatorLayout, meaningful motions and animations, implementing difficult customized views, etc.

Read next