我正在 Android Kotlin 中使用 Exoplayer 创建一个简单的音乐播放器。(播放存储中的本地MP3)
问题在于,如果手机打开睡眠模式,则播放音乐会在应用程序外部停止。于是,我尝试实现前台服务,但是没有成功。
下面是我的代码,没有我尝试实现前台服务的部分。
请让我知道如何解决此问题或如何正确实现前台服务。
类 AudioviewActivity : AppCompatActivity() {
private var player: SimpleExoPlayer? = null
private var playbackPosition = 0L
private var currentWindow = 0
private var playWhenReady = false
override fun onBackPressed() {
super.onBackPressed()
player!!.stop()
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_audioview)
Run Code Online (Sandbox Code Playgroud)
}
private fun initializePlayer() {
if (player == null) {
player = ExoPlayerFactory.newSimpleInstance(this)
val userAgent = Util.getUserAgent(this, "Mymusicplayer")
val mediaSource = ExtractorMediaSource(
Uri.parse("asset:///trackone.mp3"),
DefaultDataSourceFactory(this, userAgent), DefaultExtractorsFactory(),
null, null)
player!!.prepare(mediaSource)
player!!.seekTo(currentWindow, playbackPosition) …Run Code Online (Sandbox Code Playgroud)