3

如何在没有 R.raw 或某种文件的情况下在 Android 中初始化 MediaPlayer?

如果我不使用某些文件初始化 MediaPlayer,我将在运行时收到空指针异常。但是当程序启动时,没有文件路径可供使用,因为用户还没有按下按钮从 SD 卡中选择 mp3 文件。

初始化媒体播放器时,还有另一个问题。它只需要一个 R.raw 类型的文件,而不是 SD 卡中文件的路径。如果我在 R.raw 目录中没有任何文件,那么我无法使用文件进行初始化。看来您需要本地 R.raw 文件夹中的音频文件来执行此操作。

 Mediaplayer player = MediaPlayer.create(this, R.raw.sample_music);

有一个名为“setDataSource”的方法允许我设置文件的路径,但是我必须先初始化 MediaPlayer。

  player.setDataSource(selectedAudioPath);

还有其他初始化 MediaPlayer 的方法吗?

4

2 回答 2

8
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(filepath);
于 2012-10-12T02:05:28.387 回答
1

这篇文章对我有帮助,下面的代码也可以:

Mediaplayer player = MediaPlayer.create(this, Uri.parse(File.getAbsolutePath()));
于 2019-08-10T21:37:31.840 回答