我使用以下代码从sdcard播放音频。但它不会发挥,甚至不会抛出错误。我的文件位于以下路径/sdcard/media/blueeye.mp3中。任何建议。
public void audioPlayer(){
//set up MediaPlayer
MediaPlayer mp = new MediaPlayer();
try {
mp.setDataSource(mp.setDataSource(getExternalFilesDir() + "/media/blueeye.mp3"); );
} catch (IllegalArgumentException 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();
}
try {
mp.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.start();
}
答案 0 :(得分:0)
我认为它应该是/mnt/sdcard/media/blueeye.mp3
,请使用getExternalFilesDir()
:
mp.setDataSource(getExternalFilesDir() + "/media/blueeye.mp3");
此外,如果您设置了自己的onErrorListener,您将能够轻松看到问题所在。