1、声明播放器
//MediaPlayer支持:AAC、AMR、FLAC、MP3、MIDI、OGG、PCM等格式 private MediaPlayer mediaPlayer = new MediaPlayer();
2、在 onCreate 中动态申请权限,然后才初始化播放器
@Override protected void onCreate(Bundle savedInstanceState) { //权限判断,如果没有权限就请求权限 if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1); } else { initMediaPlayer();//初始化播放器 MediaPlayer } } private void initMediaPlayer() { try { File file = new File(Environment.getExternalStorageDirectory(), "music.mp3"); mediaPlayer.setDataSource(file.getPath());//指定音频文件路径 //从sd卡中加载音乐 //mediaPlayer.setDataSource("../music/samsara.mp3") ; //从网路加载音乐 //mediaPlayer.setDataSource("http://..../xxx.mp3") ; //需将资源文件放在assets文件夹 // AssetFileDescriptor fd = getAssets().openFd("samsara.mp3"); // mMediaPlayer.setDataSource(fd) mediaPlayer.setLooping(true);//设置为循环播放 mediaPlayer.prepare();//初始化播放器MediaPlayer ////开始播放 // mediaPlayer.start(); ////如果在播放中,立刻暂停。 // if(mediaPlayer.isPlaying()){ // mediaPlayer.pause(); // } ////取消播放 //if(mediaPlayer.isPlaying()){ // mediaPlayer.reset(); // initMediaPlayer();//初始化播放器 MediaPlayer // } } catch (Exception e) { e.printStackTrace(); } }
这篇文档对您是否有帮助?