我有问题,我的媒体播放器无法理解,如果问题出在我的Uri或媒体播放器上。我试过以下的Uries ..
String media = Environment.getRootDirectory()+"/media/internal/audio/media/notifications/"+myTune+".mp3"
Uri uri = Uri.Parse(media);
mediaPlayer = MediaPlayer.create(MainActivity.this,uri);
另一个
String media = Environment.getRootDirectory()+"/media/audio/notifications/+myTune+".mp3";
Uri uri = Uri.Parse(media);
mediaPlayer = MediaPlayer.create(MainActivity.this,uri);
和第三个
String media = Environment.getRootDirectory()+"/media/internal/audio/media/notifications/"+myTune";
Uri uri = Uri.Parse(media);
mediaPlayer = MediaPlayer.create(MainActivity.this,uri);
但是所有这些媒体播放器都是空的我从系统通知中获取myTune。请帮助我们......
答案 0 :(得分:0)
您可能没有在运行时检查过请求权限 https://developer.android.com/training/permissions/index.html
答案 1 :(得分:0)
首先尝试对下面的路径进行硬编码,然后使用您的“myTune”进行验证。 此外,它还有助于添加myTune exaclty的内容。
请验证该文件是否存在于该位置,并且路径enterend没有错误。
//String media = Environment.getRootDirectory()+"/media/internal/audio/media/notifications/"+myTune+".mp3"
//or ENTER FULL PATH MANUALLY TO TEST
String media = Environment.getRootDirectory()+"/media/internal/audio/media/notifications/<yourtunenamehere>.mp3"
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setOnPreparedListener(onPreparedListener);
mediaPlayer.reset();
mediaPlayer.setDataSource(media);
mediaPlayer.prepare();
private MediaPlayer.OnPreparedListener onPreparedListener = new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.start();
}
};
同时添加此权限。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>