您的位置:首页 > 其它

获取手机的音频文件展示并播放

2017-10-25 14:08 351 查看
获取手机的音频文件展示在ListView 点击一个播放一个

/**
* 获取手机上的所有音乐点击开始播放
*/
public class MainActivity extends AppCompatActivity {
private ListView listView;
// 获取外部存储的 音频文件 也可以 修改为 视频 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);
listView = (ListView) findViewById(R.id.lv);
// mPlayer = new MediaPlayer();
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 },
CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);

listView.setAdapter(adapter);
listView.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();
}
});

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: