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();
    }

}

获取视频信息:

转载于:https://www.cnblogs.com/qwer520/p/4939794.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值