【发布时间】:2017-10-19 13:14:13
【问题描述】:
我的服务有问题。
在 onCreate 方法中,我正在创建媒体播放器。 当我在活动之间移动时,我能够顺利访问服务并保持相同的媒体播放器实例。虽然,当我离开应用程序(来自服务媒体播放器的音频仍在播放)然后我返回应用程序时 - 我得到了新的 MediaPlayer 实例。来自先前实例的音频流仍在播放。
我希望能够访问与之前相同的 MediaPlayer 实例来操纵播放歌曲(例如暂停)。
你知道可能是什么问题吗?
class PlayerService : Service(), MediaPlayer.OnPreparedListener, PlayerServiceContract.ServiceContract {
private val mBinder = PlayerBinder()
private var mPlayer: MediaPlayer? = null
private var mPresenter: PlayerServiceContract.Presenter? = null
private var mRecording: Recording? = null
override fun onCreate() {
super.onCreate()
mPlayer = MediaPlayer()
mPlayer?.setWakeMode(applicationContext,
PowerManager.PARTIAL_WAKE_LOCK)
mPlayer?.setAudioStreamType(AudioManager.STREAM_MUSIC)
mPlayer?.setOnPreparedListener(this)
【问题讨论】:
-
检查服务的onDestroy()是否被调用。
-
如果在activity消失的时候解绑服务,那么在你离开应用的时候服务可以被销毁。首先检查一下。
-
你的代码不完整,把你完整的类或者至少完整的函数代码放在这里。
-
你找到解决办法了吗?
标签: android service android-mediaplayer kotlin