要添加的权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
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();
}
}
}
//播放视频
public class MainActivity extends AppCompatActivity {
private int[] arr = new int[]{R.raw.a,R.raw.video_test,R.raw.minion_01};
private Uri[]uriArr= null;
private VideoView mVideoView;
private int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//构建Uri
uriArr = new Uri[arr.length];
uriArr[0] = Uri.parse("android.resource://"+getPackageName()+"/"+arr[0]);
uriArr[1] = Uri.parse("android.resource://"+getPackageName()+"/"+arr[1]);
uriArr[2] = Uri.parse("android.resource://"+getPackageName()+"/"+arr[2]);
mVideoView = (VideoView) findViewById(R.id.videoview);
//设置播放的路径
mVideoView.setVideoURI(uriArr[i]);
mVideoView.setMediaController(new MediaController(this));
mVideoView.start();
}
public void onClick(View view) {
switch (view.getId()){
case R.id.Previous_episode_btn://上一集
if(i>0){
i--;
}else {
i=2;
}
break;
case R.id.next_set_btn://下一集
if(i<2){
i++;
}else {
i=0;
}
break;
}
mVideoView.setVideoURI(uriArr[i]);
mVideoView.start();
}
}