使用FOREGROUND_SERVICE播放音频
时间: 2024-10-22 17:02:48 浏览: 23
在Android中,如果你想要在前台保持音频播放并且防止被系统暂停,你应该使用`ForegroundService`。这是一个特殊的Service类型,允许你在前台显示一个Notification,即使应用处于后台,也能继续执行一些耗时的任务,如音频播放。
以下是一个简单的示例,演示如何在`ForegroundService`中播放音频:
```java
public class AudioPlayingService extends ForegroundService {
private MediaPlayer mediaPlayer;
@Override
public void onCreate() {
super.onCreate();
// 创建MediaPlayer实例并设置音频文件路径
mediaPlayer = MediaPlayer.create(Audio Playing Service.this, R.raw.your_audio_file);
// 设置播放状态监听器
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
stopSelf(); // 音乐播放完毕后停止服务
}
});
// 开始播放
mediaPlayer.start();
}
@Override
public Notification onCreateNotification() {
// 创建Notification,包括标题、内容以及用于回退到服务的PendingIntent
return new Notification.Builder(this)
.setContentTitle("音乐播放")
.setContentText("正在播放...")
.setSmallIcon(R.drawable.ic_notification_icon)
.setContentIntent(PendingIntent.getActivity(this, 0, new Intent(this, AudioPlayingService.class), 0))
.build();
}
// 其他必要的onStartCommand方法和生命周期管理...
}
```
当你需要暂停、继续或者停止播放时,可以在相应的时机调用`mediaPlayer.pause()`、`mediaPlayer.start()`或`mediaPlayer.stop()`。
阅读全文