android获取sd卡音视频列表


public class MainActivity extends Activity {
    private ListView listView;
    private MyAdapter myAdapter;
    private List<Song> list = new ArrayList<Song>();
    private MediaPlayer mediaPlayer;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
        getList();
    }

    private void init() {
        listView = (ListView) findViewById(R.id.list);
        myAdapter = new MyAdapter(list, this);
        listView.setAdapter(myAdapter);
        listView.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
//                Toast.makeText(MainActivity.this,
//                        ((Song) arg1.getTag()).getName(), 2000).show();
                play(((Song) arg1.getTag()).getPath());
            }
        });
        mediaPlayer=new MediaPlayer();
    }
    private void play(String uri){
        if(mediaPlayer.isPlaying()){
            mediaPlayer.stop();
        }
        try {
            mediaPlayer.reset();
            mediaPlayer.setDataSource(uri);
            mediaPlayer.prepare();
            mediaPlayer.start();
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SecurityException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    private void getList() {
        ContentResolver resolver = this.getContentResolver();


        String[] projection = { Audio.Media._ID, Audio.Media.DISPLAY_NAME,
                Audio.Media.DURATION, Audio.Media.DATA };
        Cursor cursor = resolver.query(
                MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, projection, null,
                null, null);
        while (cursor.moveToNext()) {
            int id = cursor.getInt(cursor.getColumnIndex(Media._ID));
            String name = cursor.getString(cursor
                    .getColumnIndex(Media.DISPLAY_NAME));
            String path = cursor.getString(cursor.getColumnIndex(Media.DATA));
            list.add(new Song(name, path));
        }
        myAdapter.notifyDataSetChanged();
    }

}

获取视频信息:

posted @ 2015-11-05 15:50  蜗牛眼里的世界  阅读(324)  评论(0编辑  收藏  举报