2015-02-23 121 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