public class MainActivity extends AppCompatActivity {
private ListView mLv;
// 获取外部存储的 音频文件 也可以 修改为 视频 Vedio 或内部存储
private Uri mediaUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
private SimpleCursorAdapter adapter;
private MediaPlayer mPlayer;//播放音频
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mLv = (ListView) findViewById(R.id.lv);
//得到解析器对象
ContentResolver resolver = getContentResolver();
Cursor cursor = resolver.query(mediaUri,
new String[] { MediaStore.Video.Media._ID,
MediaStore.Video.Media.DISPLAY_NAME,
MediaStore.Video.Media.DATA,
MediaStore.Video.Media.TITLE }, null, null, null);
adapter = new SimpleCursorAdapter(MainActivity.this,
R.layout.item_layout,
cursor,
new String[] { MediaStore.Video.Media.DISPLAY_NAME, MediaStore.Video.Media.DATA, MediaStore.Video.Media.TITLE },
new int[] { R.id.diaplayname_tv, R.id.data_tv, R.id.title_tv },
SimpleCursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
mLv.setAdapter(adapter);
mLv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// TODO Auto-generated method stub
Cursor c = (Cursor) adapter.getItem(position);
String path = c.getString(c.getColumnIndex(MediaStore.Video.Media.DATA));
// 系统播放音频文件
// Intent intent = new Intent();
// intent.setAction(Intent.ACTION_VIEW);//隐式意图跳转, 会根据内容的不同, 打开相应的功能
// intent.setDataAndType(Uri.fromFile(new File(path)), "audio/*");
// startActivity(intent);
if(mPlayer!=null){
mPlayer.release();//释放资源
}
mPlayer = MediaPlayer.create(MainActivity.this,Uri.parse(path));
mPlayer.start();
}
});
}
@Override
protected void onStop() {
super.onStop();
if(mPlayer!=null && mPlayer.isPlaying())
{
mPlayer.stop();
}
}
}
音乐播放器
最新推荐文章于 2019-11-16 10:08:08 发布