2015-02-23 4 views
0

У меня есть несколько кнопок. При нажатии каждый из них воспроизводит другой звук. После использования приложения в течение 2 или 3 минут кнопки перестают воспроизводить звук. Я упростить код:Кнопки перестают работать

<Button 
     android:id="@+id/but" 
     android:layout_weight="1" 
     android:layout_width="0dp" 
     android:layout_height="fill_parent" 
     android:background="@drawable/button" /> 



public class MainActivity extends ActionBarActivity implements View.OnClickListener 
{ 
    Button b; 
    MediaPlayer mp; 
    MainActivity t=this; 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     b=(Button)findViewById(R.id.but); 
     b.setOnClickListener(this); 
    } 
    public void onClick(View v) 
    { 
     int q=v.getId(); 
     if(q==R.id.but) 
     { 
      mp=MediaPlayer.create(t,R.raw.song); 
      mp.start(); 
     } 
    } 
+0

Какая ошибка вы получаете. Опубликовать журналы – Psypher

+0

Выполняется ли воспроизведение песни через 2-3 минуты, и вы не можете запустить ее снова, или кнопка просто перестает обрабатывать клики без причины? – miselking

+0

Аудиосигнал не более 10 секунд. Он перестает обрабатывать клики без причины. –

ответ

1

Когда вы закончите играть, рекомендуется вызвать release() на вашем MediaPlayer объекта.

Как указано в official documentation

... отказ вызвать высвобождение() может вызвать последующие экземпляры объектов MediaPlayer для Откат к реализации программного обеспечения или не вообще.

Кроме того, вы должны взглянуть на MediaPlayer states.

+0

Спасибо! Я не хотел задавать глупых вопросов или беспокоить кого-либо, но в учебнике, которое я прочитал о Media Player, ничего не говорится о методе release() Я бы поднял вас, но у меня есть минус на этот вопрос, и у меня есть только 14 баллов репутации elft –

+0

Добро пожаловать. Если бы этот ответ был полезен для вас, пожалуйста, отметьте его как принятый :-) Счастливое кодирование! @IulianDutu – Marcus

+0

Я как-то завоевал репутацию;) –

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