Mediaplayer 未打开所选文件 android(setDataSource 失败。:status=0x80000000)
Mediaplayer not opening selected file android (setDataSource failed.: status=0x80000000)
所以我设置了以下代码来从内存中挑选一首歌曲并播放。
Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 10);
我的 onActivityResult:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == RESULT_OK){
Uri uriSound = data.getData();
play(this, uriSound);
}
}
最后是我的玩法:
私人无效播放(上下文上下文,Uri uri){
MediaPlayer mip = new MediaPlayer();
try {
mip.setDataSource(context, uri);
mip.prepare();
mip.start();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
但是当我 运行 这样做时,我不断收到以下错误:
java.io.IOException: setDataSource failed.: status=0x80000000
我无法在任何地方找到可行的解决方案。
有什么想法吗?
在清单文件中授予读取外部存储的权限修复了它!
所以我设置了以下代码来从内存中挑选一首歌曲并播放。
Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 10);
我的 onActivityResult:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == RESULT_OK){
Uri uriSound = data.getData();
play(this, uriSound);
}
}
最后是我的玩法: 私人无效播放(上下文上下文,Uri uri){
MediaPlayer mip = new MediaPlayer();
try {
mip.setDataSource(context, uri);
mip.prepare();
mip.start();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
但是当我 运行 这样做时,我不断收到以下错误:
java.io.IOException: setDataSource failed.: status=0x80000000
我无法在任何地方找到可行的解决方案。 有什么想法吗?
在清单文件中授予读取外部存储的权限修复了它!