Android Video information can be found in MediaStore.Audio.Media
Content Provier can be access MediaStore class with query method.
Refer ContentProvider
public Cursor query (Uri uri,
String[] projection,
String selection,
String[] selectionArgs,
String sortOrder)
For example, if Audio query on external storage, then
==========================================
void queryAudio(Context context) {
String[] audioColumns = {
MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.DISPLAY_NAME,
MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.DURATION,
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.ALBUM_ID,
MediaStore.Audio.Media.ALBUM,
MediaStore.Audio.Media.DATE_ADDED};
Cursor audioCursor = context.getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
audioColumns,null,null,null);
if (audioCursor != null && audioCursor.moveToFirst()) {
int audioId = 0;
String audioPath = null;
String audioDisplayName = null;
String audioTitle = null;
int audioDuration = 0;
String audioArtist = null;
String audioAlbum = null;
int dateAdded = 0;
int audioIdColumnIndex = audioCursor.getColumnIndex(MediaStore.Audio.Media._ID);
int audioPathColumnIndex = audioCursor.getColumnIndex(MediaStore.Audio.Media.DATA);
int audioDisplayNameColumnIndex = audioCursor.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME);
int audioTitleColumnIndex = audioCursor.getColumnIndex(MediaStore.Audio.Media.TITLE);
int audioDurationColumnIndex = audioCursor.getColumnIndex(MediaStore.Audio.Media.DURATION);
int audioArtistColumnIndex = audioCursor.getColumnIndex(MediaStore.Audio.Media.ARTIST);
int audioAlbumColumnIndex = audioCursor.getColumnIndex(MediaStore.Audio.Media.ALBUM);
int dateAddedColumnIndex = audioCursor.getColumnIndex(MediaStore.Audio.Media.DATE_ADDED);
do {
audioId = audioCursor.getInt(audioIdColumnIndex);
audioPath = audioCursor.getString(audioPathColumnIndex);
audioDisplayName = audioCursor.getString(audioDisplayNameColumnIndex);
audioTitle = audioCursor.getString(audioTitleColumnIndex);
audioDuration = audioCursor.getInt(audioDurationColumnIndex);
audioArtist = audioCursor.getString(audioArtistColumnIndex);
audioAlbum = audioCursor.getString(audioAlbumColumnIndex);
dateAdded = audioCursor.getInt(dateAddedColumnIndex);
// do action
} while (audioCursor.moveToNext());
}
}
==========================================
After querying audio, audio columns index get from audio cursor column index.
Each audio information can get from current audio cursor by moving audio cursor index.
This example gets the audio id, path, display name, title, duration, artist, album, added date from MediaStore.
After received audio data, it can be used to load thumbnail, play audio etc.
Unity Audio Supported formats
MPEG layer 3: .mp3
Ogg Vorbis: .ogg
Microsoft Wave: .wav
Audio Interchange File Format: .aiff / .aif
Ultimate Soundtracker module: .mod
Impulse Tracker module: .it
Scream Tracker module: .s3m
FastTracker 2 module: .xm
댓글 없음:
댓글 쓰기