2013-05-07 3 views
0

Я использую этот setOnClickListener() внутри одного из методов в Android-приложении Android. Здесь я использовал MediaPlayer, который объявлен локально. Как и у меня есть еще два метода, в которых используется медиаплеер. Также я объявил, что глобальный медиаплеер & использовал его в разных местах моего onCreate().Как остановить медиаплеер, играющий из других методов

Моя проблема в том, что если я нажму на любой другой метод, я должен остановить MediaPlayer. Для объявленного во всем мире объекта MediaPlayer (mp.). Я могу напрямую использовать,

if(mp!=null&&mp.isPlaying()){ 
    mp.stop(); 
} 

и я могу его остановить. Но Я также хочу остановить звук из всех методов. Как это возможно?

P.S: -> Если я использую mp во всех методах, он не воспроизводит звук &, говорящий для создания статического медиаплеера.

спасибо.

+0

О каких методах вы говорите? Что они должны делать? – Cornholio

+0

Plz см. Отредактированный код, я создам еще два таких метода и использую их где-нибудь в своем коде. Если я вызову этот метод, звуки других методов должны быть остановлены. Вот и все. – sai

+0

В этом случае вы должны просто использовать глобальный MediaPlayer для всего. – Cornholio

ответ

2

Каждый раз, когда вы создаете нового игрока, назначьте его экземпляру Global MediaPlayer.

т.е.

объявить MediaPlayer как этот

MediaPlayer mp; 

, а затем в ваших onClick или в других других способов использовать как этот

и проверить существуют ли уже MediaPlayer или нет

f(mp!=null&&mp.isPlaying()){ 
    mp.stop(); 
    mp.release(); 
} 
mp=MediaPlayer.create(getApplicationContext(), sound); 
mp.start(); 
+0

Работающий чувак – sai

1

попробуйте создать свою медиа aplayer в режиме singleton, а затем ваш медиаплеер будет создан только один экземпляр объекта через все приложение.

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