要打开文件资源管理器,requestCode 只是一个整数,因此请传递 1
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("audio/*"); // specify "audio/mp3" to filter only mp3 files
startActivityForResult(intent,1);
设置媒体播放器,
MediaPlayer player = new MediaPlayer();
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
从资源管理器中获取结果文件,
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
/*check whether you're working on correct request using requestCode , In this case 1*/
if(requestCode == 1 && resultCode == Activity.RESULT_OK){
audio = data.getData(); //declared above Uri audio;
Log.d("media", "onActivityResult: "+audio);
}
super.onActivityResult(requestCode, resultCode, data);
}
开始播放音频,
player.setDataSource(new FileInputStream(new File(audio.getPath())).getFD());
player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
player.start();
}
});
player.prepareAsync();
要停止音频,
if(player.isPlaying())
player.stop();
最后,在清单中添加读取外部文件的权限,
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
添加您的控制器小部件并使用 MediaPlayer 方法来创建自定义的 Mp3 播放器;)