0

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

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

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

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

4

1 回答 1

3

您需要确保您提供的路径setDataSource() 完全正确。最好的方法不是硬编码对“/sdcard/”的引用,而是使用android.os.Environment.getExternalStorageDirectory()

试试这个,我想它会帮助你

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

我希望这对你有帮助

于 2011-05-16T14:54:24.423 回答