在 Android 平台上播放 .amr 格式的音频文件有以下几种常见的方法:
1. 使用 MediaPlayer 类:
```java
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("path/to/your/file.amr");
mediaPlayer.prepare();
mediaPlayer.start();
```
2. 使用 AudioTrack 类:
```java
try {
FileInputStream fis = new FileInputStream("path/to/your/file.amr");
byte[] audioData = new byte[fis.available()];
fis.read(audioData);
fis.close();
AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC,
44100, // sample rate
AudioFormat.CHANNEL_OUT_MONO,
AudioFormat.ENCODING_PCM_16BIT,
audioData.length,
AudioTrack.MODE_STATIC);
audioTrack.write(audioData, 0, audioData.length);
audioTrack.play();
} catch (IOException e) {
e.printStackTrace();
}
```
3. 使用第三方库, 如 ffmpeg 或 ExoPlayer:
```gradle
dependencies {
implementation 'com.google.android.exoplayer:exoplayer:2.X.X'
}
```
```java
ExoPlayer player = new ExoPlayer.Builder(context).build();
MediaSource mediaSource = new ProgressiveMediaSource.Factory(dataSourceFactory)
.createMediaSource(Uri.fromFile(new File("path/to/your/file.amr")));
player.setMediaSource(mediaSource);
player.prepare();
player.play();
```
无论使用哪种方式,请确保在使用完音频资源后,及时释放相关资源,以避免内存泄漏。