有没有像 res/drawable 这样的文件夹用于 mp3 或一般的音频文件?如果是,它是什么以及如何从应用程序访问它?
4 回答
放置此类.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);
以下是您可以轻松遵循的一些步骤。
使用要在其中添加音频剪辑/媒体文件的项目打开 android studio。
在资源文件夹中创建一个
raw
文件夹。只需将媒体文件
raw
复制并粘贴到文件夹即可将媒体文件添加到raw
文件夹中。在这里,我们添加了一个媒体文件“ring.mp3”。现在打开所需活动的 Java 文件,这里我们在 MainActivity 中添加音频。
进一步添加此代码。
MediaPlayer ring = MediaPlayer.create(MainActivity.this, R.raw.ring);
ring.start();
现在运行应用程序,您的音乐将在应用程序启动时播放
您应该将 .mp3 保存到res/raw
. AndroidStudio 识别该raw
文件夹。(相比之下,它不会自动识别res/assets
文件夹)。
播放音乐.mp3:
mediaPlayer = MediaPlayer.create(ctx, R.raw.cat_meow);
mediaPlayer.start();
R.
注意语法的方便使用。
将其放入您的资产文件夹中。最好在 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();