Android 上原始文件夹和 SD 卡之间的 MediaPlayer 问题

发布于 2024-11-07 16:29:25 字数 312 浏览 0 评论 0原文

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

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

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

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

I am making an app for playing songs with a seek bar. If I play from the raw folder it works but if I play a song from the sdcard it shows a null pointer exception.

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

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

I do not know what is the problem. Please help me.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

假面具 2024-11-14 16:29:25

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

尝试一下,我认为这会对您有所帮助

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

,希望如此帮助你

You need to make sure the path you give to setDataSource()
is exactly correct. The best way to do this, instead of hardcoding the reference to '/sdcard/', is to use android.os.Environment.getExternalStorageDirectory()

Try this, I think it will help you

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

I hope this help you

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文