Android 播放音频
时间: 2023-08-05 20:15:47 浏览: 164
Android 播放音频可以使用 MediaPlayer 或 SoundPool。
MediaPlayer 是一个功能强大的音频播放器,它可以播放各种格式的音频文件,包括 MP3、AAC、WAV 等。以下是一个简单的使用 MediaPlayer 播放本地音频文件的示例:
```java
MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.your_audio_file);
mediaPlayer.start();
```
上面的代码创建了一个 MediaPlayer 对象,并使用 `create()` 方法加载本地音频文件。然后调用 `start()` 方法开始播放音频。
如果您需要播放网络上的音频文件,可以使用 `setDataSource()` 方法设置音频文件的 URL:
```java
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("your_audio_url");
mediaPlayer.prepare();
mediaPlayer.start();
```
上面的代码创建了一个 MediaPlayer 对象,并使用 `setDataSource()` 方法设置音频文件的 URL。然后调用 `prepare()` 方法准备音频文件,最后调用 `start()` 方法开始播放音频。
SoundPool 是一个轻量级的音频播放器,它可以快速地播放小型音频文件,例如游戏中的短音效。以下是一个简单的使用 SoundPool 播放音频文件的示例:
```java
SoundPool soundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0);
int soundId = soundPool.load(this, R.raw.your_audio_file, 1);
soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
@Override
public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
soundPool.play(soundId, 1, 1, 0, 0, 1);
}
});
```
上面的代码创建了一个 SoundPool 对象,使用 `load()` 方法加载本地音频文件,并在音频文件加载完成后使用 `play()` 方法播放音频。
注意,SoundPool 对象的 `load()` 方法返回的是一个音频文件的 ID,而不是一个 MediaPlayer 对象。如果您需要控制音频的播放状态,例如暂停、继续、停止等,则需要使用 MediaPlayer 对象。
此外,如果您需要在后台播放音频文件,例如在服务中播放背景音乐,可以使用 Android 的 AudioTrack 类来实现。这需要更多的代码和技术知识,如果您有需要,可以参考 Android 官方文档和示例代码。
阅读全文