2015-02-23 118 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 2015-02-23 17:58:36

+0

歌曲是否在2-3分钟后完成播放,并且无法再次启动,或者该按钮是否无故停止处理点击? – miselking 2015-02-23 18:01:03

+0

音频最长10秒。它无故停止处理点击。 – 2015-02-23 18:06:56

回答

1

当您完成打,建议打电话给release()MediaPlayer对象。

official documentation

...失败表示调用释放()可能会导致 的MediaPlayer对象的后续实例回退到软件实现或者完全失败 。

此外,你应该看看MediaPlayer states

+0

谢谢!我不想问任何愚蠢的问题,或者打扰任何人,但是我读到的关于Media Player的教程没有提及release()方法 我会加注你,但是我在这个问题上得到了一个减号,我得到了只有14声望点elft – 2015-02-23 18:07:50

+0

不客气。如果这个答案对你有帮助,请按照接受的方式打勾:-)快乐编码! @IulianDutu – Marcus 2015-02-23 18:23:39

+0

我以某种方式获得了声誉;) – 2015-02-23 18:29:03