Есть несколько вещей, которые я вижу в вашем коде, которые я бы проверил, если бы я был на вашей позиции.
- Вы пытаетесь вызвать «stop» для члена объекта MediaPlayer «player»«в вашем onDestroy, но в вашем onCreate вы создаете объект MediaPlayer« player »с вашей строкой кода
» MediaPlayer player = MediaPlayer.create (MyService.this, R.raw.oceanwavestest);"
, который, я считаю, создает объект проигрывателя, который вы потеряете за пределами функции.
Исправление в 1 строку для этого кода состоит в том, чтобы просто использовать" player = MediaPlayer.create (MyService.this, R.raw.oceanwavestest); ", таким образом, вместо локальной переменной используется переменная-член
Если бы это был мой код, я бы изменил переменную-член так, чтобы она называлась чем-то вроде m_player или mPlayer, такчто вы знаете, что это переменная-член в вашем коде.
(возможно, опечатка) "returnnull;"в onBind должно быть «return null»
, вы также можете попробовать позвонить
player.stop ();Toast.makeText (это, «Служба остановлена», Toast.LENGTH_SHORT) .show ();
перед вызовом super.onDestroy ()
Дайте мне знать, если это вообще поможет