サービスに問題があります。サービスがメディアプレーヤーの新しいインスタンスを作成しています
メソッドでは、私はメディアプレーヤーを作成しています。 私はアクティビティ間を移動するときに、スムーズにサービスにアクセスでき、同じメディアプレーヤーインスタンスを保持します。私がアプリケーションを残すと(サービスメディアプレイヤーからのオーディオはまだ再生されています)、アプリケーションに戻りますが、新しい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()が呼び出されているかどうかを確認します。 – Naetmul
アクティビティがなくなったときにサービスのバインドを解除すると、そのアプリケーションを終了するときにサービスが破棄される可能性があります。最初にそれをチェックしてください。 – Naetmul
コードが完成していない場合は、完全なクラスまたは少なくとも完全な関数コードをここに入力してください。 – chandil03