Android MediaPlayer-播放歌曲时出错(1,-4)
我正在尝试从sd卡播放mp3音频文件,使用音频文件的路径和文件名获取其Uri 我有一个Android MediaPlayer-播放歌曲时出错(1,-4),android,media-player,audio-streaming,live-streaming,Android,Media Player,Audio Streaming,Live Streaming,我正在尝试从sd卡播放mp3音频文件,使用音频文件的路径和文件名获取其Uri 我有一个微调器,里面填充了存储在sd卡中的曲目名称。 选择项目时,将执行以下代码: final Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; OnItemSelectedListener listener = new OnItemSelectedListener(){ @Override public void onItem
微调器
,里面填充了存储在sd卡中的曲目名称。
选择项目时,将执行以下代码:
final Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
OnItemSelectedListener listener = new OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
TextView tv = (TextView) selectedItemView;
File file = new File(uri.getPath() + "/" + tv.getText().toString());
Log.i(TAG, "------------- PATH : " + file.getAbsolutePath());
Uri uri = Uri.fromFile(file);
MediaPlayer mP = new MediaPlayer();
try {
mP.setDataSource(context, uri);
mP.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
mp.start();
}
});
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
mP.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
};
有人知道吗?
提前感谢:)您在AndroidManifest.xml中有此权限吗
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
你放在
mP.prepare()的家伙代码>
位于错误的行
您需要在mP.setDataSource(context,uri)之后调用它代码>功能
在mp.start()之前代码>
也不要尝试制作多个MediaPlayer的实例。每次启动前,制作一个并使用reset()函数
请查看以获得更多帮助 在
.setDataSource(fileName)
中设置的错误文件名或文件路径
或错误调用
.prepare()
(必须在.prepare()之前调用.setDataSource())。请参阅答案@TheLittleNaruto。媒体文件是否可访问且格式兼容(如mp3?)。是,这是一个可以访问的mp3file@Hanady嘿,我自己正在开发一个音乐播放器。你想分享均衡器的代码吗?我可以分享我从互联网上获取艺术家图像后如何在背景中显示它的代码……不,我没有,但我只是添加了它,没有任何更改
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />