Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.ref_apps.winnerplayer;
- import android.app.Fragment;
- import android.app.ListFragment;
- import android.content.Context;
- import android.database.Cursor;
- import android.media.MediaMetadataRetriever;
- import android.os.Bundle;
- import android.provider.MediaStore;
- import android.util.Log;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import java.util.ArrayList;
- import java.util.Locale;
- /**
- * Created by amosr on 09/09/2015.
- */
- public class FragmentAudio extends ListFragment {
- ArrayList<AudioItem> audioList;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- final String[] projection = {MediaStore.Audio.Media.ALBUM, MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.DATA};
- final String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
- //final String[] projection1 = {MediaStore.Audio.Playlists._ID, MediaStore.Audio.Playlists.NAME};
- // String[] projection2 = { MediaStore.Audio.Playlists._ID, MediaStore.Audio.Playlists.NAME, MediaStore.Audio.Playlists.DATA };
- Cursor cursor = getActivity().getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, projection, selection, null, null);
- while (cursor.moveToNext()) {
- String artist = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST));
- String album = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM));
- String title = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE));
- String fullPath = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA));
- String length = getTrackLength(fullPath);
- audioList.add(new AudioItem(artist, album, title, length, fullPath));
- }
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- setListAdapter(new ListAdapterAudio(getActivity(), audioList));
- return inflater.inflate(R.layout.fragment_audio_list, container, false);
- }
- public String getTrackLength(String filePath){
- // load data file
- MediaMetadataRetriever metaRetriever = new MediaMetadataRetriever();
- metaRetriever.setDataSource(filePath);
- String out;
- // convert duration to minute:seconds
- String duration =
- metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
- Log.v("time", duration);
- long dur = Long.parseLong(duration);
- String seconds = String.valueOf((dur % 60000) / 1000);
- Log.v("seconds", seconds);
- String minutes = String.valueOf(dur / 60000);
- if (seconds.length() == 1) {
- out = "0" + minutes + ":0" + seconds;
- }else {
- out = "0" + minutes + ":" + seconds;
- }
- // close object
- metaRetriever.release();
- return out;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement