【问题标题】:Right place for putting mp3 files in an android project将 mp3 文件放入 android 项目的正确位置
【发布时间】:2012-06-13 03:28:53
【问题描述】:

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

【问题讨论】:

标签: android mp3


【解决方案1】:

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

这些文件一旦存储就会成为您的 android 应用程序本身的一部分,并且可以轻松读取。这个tutorial描述的很好。

 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);

【讨论】:

  • 资产还是 RAW ?让我知道一个具体的答案
  • 我很幸运地遵循了资产选项。我在这段代码中添加了一个标志,以防止每次单击播放按钮时重播 mp3。
  • 我将文件放在 RAW 文件夹中。
  • 我想知道我们是否可以最初创建一个数据库并将文件存储在数据库本身中?
  • @juztcode 不,不建议将文件放入数据库(例如,它会导致数据库大小增加,从而导致加载数据库变慢)。
【解决方案2】:

将其放入您的资产文件夹。最好在 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();

【讨论】:

  • 这不起作用。也许 assets/ 应该从路径中删除。
【解决方案3】:

以下是您可以轻松执行的一些步骤。

  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. 现在运行应用程序,您的音乐将在应用程序启动时播放

【讨论】:

  • 好的,我在这里按照你的提示进行操作。
【解决方案4】:

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

播放音乐.mp3:

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

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

【讨论】:

    猜你喜欢
    • 2011-07-02
    • 1970-01-01
    • 2014-12-12
    • 2012-10-21
    • 1970-01-01
    • 2015-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多