MediaPlayer在android上的原始文件夹和SD卡之间发出问题

时间:2011-05-16 13:28:48

标签: android android-mediaplayer

我正在制作一个使用搜索栏播放歌曲的应用程序。如果我从原始文件夹播放它可以工作,但如果我从SD卡播放一首歌,它会显示一个空指针异常。

private MediaPlayer mediaPlayer;
mediaPlayer = MediaPlayer.create(this, R.raw.t1); // it works

//  switch to sdcard
mediaPlayer.setDataSource("/sdcard/t1.mp3"); // null pointer exception.

我不知道是什么问题。请帮帮我。

1 个答案:

答案 0 :(得分:3)

您需要确保提供给setDataSource()的路径 完全正确。执行此操作的最佳方法是使用android.os.Environment.getExternalStorageDirectory()

而不是将引用硬编码为'/ sdcard /'

试试这个,我认为它会对你有帮助

MediaPlayer mediaPlayer = new MediaPlayer();
File path = android.os.Environment.getExternalStorageDirectory();
mediaPlayer.setDataSource(path + "/t1.mp3");

我希望这可以帮到你