2015-03-23 7 views
0

У меня есть медиапланер mpFond, начатый в моем первом действии. Если я нажимаю HOME, медиаплеер останавливается, и если я нажму «PLAY», чтобы перейти в другое действие, звук будет продолжаться (это хорошо). Когда я нажимаю кнопку «Главная» в своем первом действии (где я начал медиаплеер), все в порядке, мой звук останавливается, но если нажимаю кнопку «Домой» в другой активности, это не (и это моя проблема). Так что я просто хочу знать, могу ли я пройти MediaPlayer в другой деятельности, чтобы остановить его, когда я нажимаю на кнопку Home (без использования служб, я новичок, так что ...)Пройдите медиаплеер в другом действии

Я просто использовать что остановить звук при нажатии кнопки Home:

@Override 
public void onPause() 
{ 
    super.onPause(); 
    if(this.isFinishing()){ 
    mpFond.stop(); 
    } 

} 

@Override 
public void onStop(){ 
    super.onStop(); 
    if(this.isFinishing()){ 
    mpFond.stop(); 
    } 
} 
+0

Я хочу быть честным, также, если вы новичок, проще начать и прекратить службу, чем создавать странные вещи, чтобы связать объект медиаплеера в разных действиях. Пожалуйста, проверьте очень простой пример: https://github.com/orlando-antonino/WearAudioPlayer – aorlando

+0

Но я просто хочу запустить 1 звук во всем приложении без звукового менеджера ... поэтому я не знаю, как используйте Службы в этом случае. – Masiwan

ответ

0

по некоторым причинам, нет никакого способа, вы можете передать объект MediaPlayer на другой вид деятельности через намерение. Возможно, это потому, что активность только передает Parcelable или Serializable объекты. Но я только что открыл другой путь. Чтобы передать MediaPlayer для другого действия, вам необходимо выполнить . 1- создайте MediaPlayer внутри вашего объекта приложения. 2- Доступ к MediaPlayer из любой требуемой активности и привязка ее к ней снова.

Смежные вопросы