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();
}
}
获取视频信息: