Advertisement
Guest User

Untitled

a guest
Sep 19th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.53 KB | None | 0 0
  1. package com.range.mediafail;
  2.  
  3. import android.app.Activity;
  4. import android.content.Context;
  5. import android.database.Cursor;
  6. import android.media.MediaPlayer;
  7. import android.os.Bundle;
  8. import android.os.Handler;
  9. import android.os.Message;
  10. import android.provider.MediaStore;
  11. import android.view.Menu;
  12. import android.view.MenuInflater;
  13. import android.view.MenuItem;
  14. import android.view.View;
  15. import android.view.ViewGroup;
  16. import android.widget.AdapterView;
  17. import android.widget.AdapterView.OnItemClickListener;
  18. import android.widget.BaseAdapter;
  19. import android.widget.ListView;
  20. import android.widget.SeekBar;
  21. import android.widget.TextView;
  22.  
  23. @SuppressWarnings("unused")
  24. public class speel extends Activity implements Runnable {
  25.       ListView musiclist;
  26.       ListView ListList;
  27.       Cursor musiccursor;
  28.       Cursor listcursor;
  29.       int music_column_index;
  30.       int list_column_index;
  31.       int count;
  32.       int listcount;
  33.       MediaPlayer mp;
  34.       private SeekBar progress;
  35.      
  36.  
  37.       /** Called when the activity is first created. */
  38.       @Override
  39.       public void onCreate(Bundle savedInstanceState) {
  40.             super.onCreate(savedInstanceState);
  41. //          progress = (SeekBar) findViewById(R.id.seekbar);
  42.             setContentView(R.layout.main);
  43.             init_phone_music_grid();
  44.       }
  45.  
  46.       private void init_phone_music_grid() {
  47.             System.gc();
  48.             String[] proj = { MediaStore.Audio.Media._ID,
  49.             MediaStore.Audio.Media.DATA,
  50.             MediaStore.Audio.Media.DISPLAY_NAME,
  51.             MediaStore.Video.Media.SIZE,
  52.             MediaStore.Audio.Media.ARTIST,
  53.             MediaStore.Audio.Media.TITLE};
  54.             musiccursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
  55.             proj, null, null, null);
  56.             count = musiccursor.getCount();
  57.             musiclist = (ListView) findViewById(R.id.PhoneMusicList);
  58.             musiclist.setAdapter(new MusicAdapter(getApplicationContext()));
  59.             musiclist.setOnItemClickListener(musicgridlistener);
  60.             mp = new MediaPlayer();
  61.       }
  62.  
  63.       private OnItemClickListener musicgridlistener = new OnItemClickListener() {
  64.             @SuppressWarnings("rawtypes")
  65.             public void onItemClick(AdapterView parent, View v, int position, long id) {
  66.                   System.gc();
  67.                   music_column_index = musiccursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA);
  68.                   musiccursor.moveToPosition(position);
  69.                   String filename = musiccursor.getString(music_column_index);
  70.                   try {
  71.                         if (mp.isPlaying()) {
  72.                             mp.reset();
  73.                         }
  74.                         mp.setDataSource(filename);
  75.                         mp.prepare();
  76.                         mp.start();
  77.                   } catch (Exception e) {
  78.  
  79.                   }
  80.             }
  81.       };
  82.      
  83.       private OnItemClickListener listgridlistener = new OnItemClickListener() {
  84.           @SuppressWarnings("rawtypes")
  85.             public void onItemClick(AdapterView parent, View v, int position, long id) {
  86.               list_column_index = listcursor.getColumnIndexOrThrow(MediaStore.Audio.Playlists._ID);
  87.               listcursor.moveToPosition(position);
  88.               String ID = listcursor.getString(list_column_index);
  89.  
  90.                 Cursor musiccursor = getPlaylists (ID);
  91.                 count = musiccursor.getCount();
  92.                 musiclist = (ListView) findViewById(R.id.PhoneMusicList);
  93.                 musiclist.setAdapter(new MusicAdapter(getApplicationContext()));                
  94.                 musiclist.setOnItemClickListener(musicgridlistener);
  95.                 setContentView(R.layout.main);
  96.           }
  97.     };
  98.  
  99.       public class ListAdapter extends BaseAdapter {
  100.             private Context mContext;
  101.  
  102.             public ListAdapter(Context c) {
  103.                   mContext = c;
  104.             }
  105.  
  106.             public int getCount() {
  107.                   return listcount;
  108.             }
  109.  
  110.             public Object getItem(int position) {
  111.                   return position;
  112.             }
  113.  
  114.             public long getItemId(int position) {
  115.                   return position;
  116.             }
  117.  
  118.             public View getView(int position, View convertView, ViewGroup parent) {
  119.                   System.gc();
  120.                   TextView tv = new TextView(mContext.getApplicationContext());
  121.                   String id = null;
  122.                   if (convertView == null) {
  123.                         list_column_index = listcursor.getColumnIndexOrThrow(MediaStore.Audio.Playlists.NAME);
  124.                         listcursor.moveToPosition(position);
  125.                         id = listcursor.getString(list_column_index);
  126.                         list_column_index = listcursor.getColumnIndexOrThrow(MediaStore.Audio.Playlists._ID);
  127.                         listcursor.moveToPosition(position);
  128.                         id += " - " + listcursor.getString(list_column_index);
  129.                         tv.setText(id);
  130.                   } else
  131.                         tv = (TextView) convertView;
  132.                   return tv;
  133.             }
  134.         }
  135.      
  136.       public class MusicAdapter extends BaseAdapter {
  137.           private Context mContext;
  138.  
  139.           public MusicAdapter(Context c) {
  140.                 mContext = c;
  141.           }
  142.  
  143.           public int getCount() {
  144.                 return count;
  145.           }
  146.  
  147.           public Object getItem(int position) {
  148.                 return position;
  149.           }
  150.  
  151.           public long getItemId(int position) {
  152.                 return position;
  153.           }
  154.  
  155.           public View getView(int position, View convertView, ViewGroup parent) {
  156.                 System.gc();
  157.                 TextView tv = new TextView(mContext.getApplicationContext());
  158.                 String id = null;
  159.                 if (convertView == null) {
  160.                       music_column_index = musiccursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST);
  161.                       musiccursor.moveToPosition(position);
  162.                       id = musiccursor.getString(music_column_index);
  163.                       music_column_index = musiccursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE);
  164.                       musiccursor.moveToPosition(position);
  165.                       id += " - " + musiccursor.getString(music_column_index);
  166.                       tv.setText(id);
  167.                 } else
  168.                       tv = (TextView) convertView;
  169.                 return tv;
  170.           }
  171.         }
  172.      
  173.         @Override
  174.         public void run() {
  175.             // TODO Auto-generated method stub
  176.             try {
  177.                 while(mp != null){
  178.                     int currentPosition = mp.getCurrentPosition();
  179.                     Message msg = new Message();
  180.                     msg.what = currentPosition;
  181.                     threadHandler.sendMessage(msg);
  182.                 }
  183.                 Thread.sleep(100);
  184.             } catch (InterruptedException e) {
  185.                 // TODO Auto-generated catch block
  186.                 e.printStackTrace();
  187.             }
  188.         }
  189.        
  190.     private Handler threadHandler = new Handler(){
  191.         public void handleMessage(Message msg){
  192.             //super.handleMessage(msg);
  193.             //txt.setText(Integer.toString(msg.what));
  194.             progress.setProgress(msg.what);
  195.         }
  196.     };
  197.      
  198.       public void play (View view) {
  199.           if (mp.isPlaying ()) {
  200.               mp.pause();
  201.           }
  202.           else {
  203.               mp.start();
  204.           }
  205.       }
  206.      
  207.       public void stop (View view) {
  208.           mp.stop();
  209.       }
  210.      
  211.       private Cursor getPlaylists(String playlistId){
  212.           Cursor cursor = null;
  213.           String[] projection1 = {
  214.                   MediaStore.Audio.Playlists._ID,
  215.                   MediaStore.Audio.Playlists.NAME
  216.                   };
  217.           cursor = this.managedQuery(
  218.                   MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI,
  219.                   projection1,
  220.                   MediaStore.Audio.Playlists._ID+ " = "+playlistId+"",
  221.                   null, null);
  222.           startManagingCursor(cursor);
  223.           cursor.moveToFirst();
  224.           Long playlist_id2 = cursor.getLong(0);
  225.           if(playlist_id2 > 0){
  226.               String[] projection = {
  227.                       MediaStore.Audio.Playlists.Members.AUDIO_ID,
  228.                       MediaStore.Audio.Playlists.Members.ARTIST,
  229.                       MediaStore.Audio.Playlists.Members.TITLE,
  230.                       MediaStore.Audio.Playlists.Members._ID
  231.                       };
  232.               cursor = null;
  233.               cursor = this.managedQuery(
  234.                       MediaStore.Audio.Playlists.Members.getContentUri("external",playlist_id2 ),
  235.                       projection,
  236.                       MediaStore.Audio.Media.IS_MUSIC +" != 0 ",
  237.                       null, null);
  238.               }
  239.           return cursor;
  240.       }
  241.      
  242.       @Override
  243.       public boolean onCreateOptionsMenu(Menu menu) {
  244.           MenuInflater inflater = getMenuInflater();
  245.           inflater.inflate(R.menu.menu, menu);
  246.           return true;
  247.       }
  248.      
  249.       public void listsCursor () {
  250.           String[] projection1 = {
  251.                   MediaStore.Audio.Playlists._ID,
  252.                   MediaStore.Audio.Playlists.NAME
  253.                   };
  254.           listcursor = this.managedQuery(
  255.                   MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI,
  256.                   projection1,
  257.                   null,
  258.                   null, null);
  259.           startManagingCursor(listcursor);
  260.           listcursor.moveToFirst();
  261.       }
  262.      
  263.       @Override
  264.       public boolean onOptionsItemSelected(MenuItem playlists) {
  265.          
  266.           setContentView(R.layout.lijsten);
  267.          
  268.           System.gc();
  269.           String[] proj = { MediaStore.Audio.Playlists._ID,
  270.           MediaStore.Audio.Playlists.NAME};
  271.           listcursor = managedQuery(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI,
  272.           proj, null, null, null);
  273.           listcount = listcursor.getCount();
  274.           ListList = (ListView) findViewById(R.id.PlayListList);
  275.           ListList.setAdapter(new ListAdapter(getApplicationContext()));
  276.           ListList.setOnItemClickListener(listgridlistener);
  277.  
  278.          
  279.           return super.onOptionsItemSelected(playlists);
  280.       }
  281. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement