是否有任何文件夹,如 res/drawable 用于 mp3 或一般音频文件?如果是,它是什么以及如何从应用程序访问它?
此类.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);
以下是您可以轻松遵循的一些步骤。
-
打开带有要在其中添加音频剪辑/媒体文件的项目的安卓工作室。
-
在资源文件夹中创建一个
raw
文件夹。 -
只需将媒体文件复制并粘贴到
raw
文件夹中,即可将媒体文件添加到raw
文件夹中。 -
在这里,我们添加了一个媒体文件"ring.mp3"。现在打开所需活动的 Java 文件,在这里我们在主活动中添加音频。
-
进一步添加此代码。
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();