获取手机的音频文件展示并播放
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();
}
});
}
}
/**
* 获取手机上的所有音乐点击开始播放
*/
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();
}
});
}
}
相关文章推荐
- iOS获取相册视频文件封面图 选取手机中的音频、视频文件并导出数据。
- iOS开发:获取一个视频、音频文件的播放时长
- 用c++获取音频文件的信息 达到异步播放的效果(2)
- 利用MediaPlayer 获取一个音频或者视频文件的播放时长
- C#获取音频文件(MP3等)播放时间长度的几种方式
- android 扫描手机内存和SD卡,获取手机的视频、音频文件。把获取不到的文件扫描出来
- 使用Contenprovider获取手机联系人,获取外部的音频文件
- php 电脑端播放手机音频amr文件
- H5页面实现一个Audio标签加载多个音频文件,并进行播放和展示音频长度
- IOS MPMoviePlayerViewController 获取当前音频文件播放时间点
- 音频文件播放时间的获取
- Java获取音频文件(MP3)的播放时长
- Android系列之音乐播放器的实现一(播放手机内存音频文件)
- C#获取音频文件(MP3等)播放时间长度的几种方式
- 获取本地音频文件 FreeStreamer播放本地音频
- 【C#获取音频文件的播放时间】
- 用c++获取音频文件的信息 达到异步播放的效果(1)
- Android录制声音文件(音频),并播放
- Asp.Net音频文件上传和播放
- 从”茄子快传”看应用程序怎样获取手机已安装程序的apk文件