本教程详细介绍如何在Android应用中利用MediaPlayer API播放assets或raw目录下的音频文件,适合初学者学习。
Android 使用MediaPlayer播放assets或者raw目录的音频文件
在Android开发过程中,使用MediaPlayer来加载并播放位于assets或raw目录中的音频文件是一种常见的做法。
1. 对于存放于`res/raw/`目录下的资源文件,在代码中可以直接通过其资源ID(如R.raw.filename)进行访问。示例代码如下:
```java
// 创建MediaPlayer实例
MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.filename);
mediaPlayer.start();
```
2. 而对于位于assets目录中的音频文件,由于它不具有固定的资源ID,在使用时需要通过`AssetManager`来获取输入流,并创建相应的MediaPLayer对象。示例代码如下:
```java
// 获取AssetManager实例
AssetManager assetManager = context.getAssets();
try {
// 打开指定的音频文件并获取其InputStream
InputStream inputStream = assetManager.open(filename);
// 创建MediaPlayer实例,设置输入流作为数据源,并准备播放器
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(inputStream);
mediaPlayer.prepare();
} catch (IOException e) {
e.printStackTrace();
}
mediaPlayer.start();
```
以上两种方式都可以有效地在Android应用中使用`MediaPlayer`来加载和播放音频文件。