android 服务背景音乐,Android背景音乐服务

用START_STICKY标志创建一个前台服务。

@Override

public int onStartCommand(Intent startIntent, int flags, int startId) {

if (startIntent != null) {

String action = startIntent.getAction();

String command = startIntent.getStringExtra(CMD_NAME);

if (ACTION_CMD.equals(action)) {

if (CMD_PAUSE.equals(command)) {

if (mPlayback != null && mPlayback.isPlaying()) {

handlePauseRequest();

}

} else if (CMD_PLAY.equals(command)) {

ArrayList queue = new ArrayList<>();

for (Parcelable input : startIntent.getParcelableArrayListExtra(ARG_QUEUE)) {

queue.add((Track) Parcels.unwrap(input));

}

int index = startIntent.getIntExtra(ARG_INDEX, 0);

playWithQueue(queue, index);

}

}

}

return START_STICKY;

}

然后可以从任何活动调用播放一些音乐

Intent intent = new Intent(MusicService.ACTION_CMD, fileUrlToPlay, activity, MusicService::class.java)

intent.putParcelableArrayListExtra(MusicService.ARG_QUEUE, tracks)

intent.putExtra(MusicService.ARG_INDEX, position)

intent.putExtra(MusicService.CMD_NAME, MusicService.CMD_PLAY)

activity.startService(intent)

您可以绑定到使用bindService服务和使服务暂停/从相应的活动的生命周期方法停止。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值