音乐播放服务示例Android后台播放模块

后台音乐播放的需求挺常见,是做播放器类 App 时,离不开Service的配合。这份“音乐播放服务”的示例用得挺顺,MusicPlayerService写得清晰,MediaPlayer也用得合适,控制逻辑全、响应也快。

Android 的Service说白了就是干后台活儿的,比如用户切到别的页面甚至锁屏了,你的音乐还能继续放,这就靠它。像onCreate()初始化播放器、onStartCommand()接收播放指令这些,结构合理又好改,适合你拿来直接用。

通知栏的那一块也没落下,能看到播放状态,还能结合NotificationManager搞点交互。嗯,体验这一块算是照顾到了。如果你想接入 UI 控件控制音乐,onBind()MusicBinder都准备好了。

另外别忘了 Intent 的用法,像ACTION_PLAY这种操作指令,就是靠startService()带过去的。场景清晰,改成你自己的播放逻辑也不麻烦。蛮适合初中级开发者学 Service 的用法。

建议你加个前台服务的逻辑,Android 8 之后没通知跑服务可是要出问题的哦。如果你也在折腾音乐 App,不妨参考下下面这些链接,挺实用的:

zip
PlayMusic.zip 预估大小:22个文件
folder
PlayMusic 文件夹
file
.project 845B
file
project.properties 563B
folder
src 文件夹
folder
com 文件夹
folder
sweetlover 文件夹
folder
activity 文件夹
file
MainActivity.java 776B
file
MusicPlayer.java 791B
file
AndroidManifest.xml 1KB
folder
res 文件夹
folder
raw 文件夹
file
music.mp3 2.95MB
folder
drawable-ldpi 文件夹
folder
drawable-hdpi 文件夹
file
ic_launcher.png 7KB
folder
values-v11 文件夹
file
styles.xml 334B
folder
drawable-mdpi 文件夹
file
ic_launcher.png 4KB
folder
layout 文件夹
file
activity_main.xml 760B
folder
drawable-xxhdpi 文件夹
file
ic_launcher.png 24KB
folder
drawable-xhdpi 文件夹
file
ic_launcher.png 12KB
folder
values 文件夹
file
strings.xml 79B
file
styles.xml 697B
folder
values-v14 文件夹
file
styles.xml 391B
folder
.settings 文件夹
file
org.eclipse.jdt.core.prefs 177B
folder
assets 文件夹
folder
gen 文件夹
folder
com 文件夹
folder
sweetlover 文件夹
folder
playmusic 文件夹
file
BuildConfig.java 166B
file
R.java 2KB
folder
libs 文件夹
file
android-support-v4.jar 741KB
file
.classpath 475B
file
proguard-project.txt 781B
file
ic_launcher-web.png 50KB
zip 文件大小:3.54MB