38

有没有像 res/drawable 这样的文件夹用于 mp3 或一般的音频文件?如果是,它是什么以及如何从应用程序访问它?

4

4 回答 4

33

放置此类.mp3或任何其他文件的最佳位置是在assets文件夹中。

这些文件一旦存储将成为您的 android 应用程序本身的一部分,并且可以轻松读取。本教程很好地描述了它。

 AssetFileDescriptor afd = getAssets().openFd("AudioFile.mp3");
 MediaPlayer player = new MediaPlayer();
 player.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());
 player.prepare();
 player.start();

或者,您也可以将其存储在raw文件夹中,并通过将路径指定为原始文件夹直接读取它。这可以播放为:

int resID=getResources().getIdentifier(fname, "raw", getPackageName());
MediaPlayer mediaPlayer=MediaPlayer.create(this,resID);
于 2012-06-09T08:40:29.467 回答
12

以下是您可以轻松遵循的一些步骤。

  1. 使用要在其中添加音频剪辑/媒体文件的项目打开 android studio。

  2. 在资源文件夹中创建一个raw文件夹。

  3. 只需将媒体文件raw复制并粘贴到文件夹即可将媒体文件添加到raw文件夹中。

  4. 在这里,我们添加了一个媒体文件“ring.mp3”。现在打开所需活动的 Java 文件,这里我们在 MainActivity 中添加音频。

  5. 进一步添加此代码。

    MediaPlayer ring = MediaPlayer.create(MainActivity.this, R.raw.ring); ring.start();

  6. 现在运行应用程序,您的音乐将在应用程序启动时播放

于 2017-05-23T07:25:09.590 回答
6

您应该将 .mp3 保存到res/raw. AndroidStudio 识别该raw文件夹。(相比之下,它不会自动识别res/assets文件夹)。

播放音乐.mp3:

mediaPlayer = MediaPlayer.create(ctx, R.raw.cat_meow); mediaPlayer.start();

R.注意语法的方便使用。

于 2017-11-07T02:19:58.370 回答
3

将其放入您的资产文件夹中。最好在 assets/raw/myfile.mp3 下您可以使用以下命令访问它:

String mp3File = "raw/music.mp3";
AssetManager assetMan = getAssets();
MediaPlayer media = new MediaPlayer();
FileInputStream mp3Stream = assetMan.openFd(mp3File).createInputStream();
media.setDataSource(mp3Stream.getFD());
media.prepare();
media.start();
于 2012-06-09T08:41:11.900 回答