2017-04-21 51 views
0

我是Android Studio的初學者,我正在嘗試使用按鈕進行聲音連接的項目。當我按下按鈕時,聲音開始,但當我按下另一個按鈕時,第一個聲音不會停止。我該如何解決這個問題?如何在另一個聲音正在運行時停止聲音?

下面的代碼:

public class MainActivity extends AppCompatActivity { 

Button bottoneYoshi; 
Button bottoneMario; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    bottoneYoshi = (Button) findViewById(R.id.button); 
    bottoneMario = (Button) findViewById(R.id.button2); 

    final MediaPlayer YoshiSuono = MediaPlayer.create(this, R.raw.yoshi); 
    final MediaPlayer MarioSuono = MediaPlayer.create(this, R.raw.mario); 

    bottoneYoshi.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      YoshiSuono.start(); 
     } 
    }); 
    bottoneMario.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      MarioSuono.start(); 
     } 

    }); 


} 
} 

回答

0

試試這個

bottoneYoshi.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      MarioSuono.stop(); 
      YoshiSuono.start(); 
     } 
    }); 
    bottoneMario.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      YoshiSuono.stop() 
      MarioSuono.start(); 
     } 

    }); 
+0

謝謝,但主要問題是:如果有很多按鈕..有我鍵入「YoshiSuono.stop() '對於項目中的其他聲音還是有特定的方法來阻止項目中的每個聲音? –

+0

在這種情況下,您可能希望看看[獲取和釋放音頻焦點](https://developer.android.com/guide/topics/media-apps/volume-and-earphones.html)。 – Simo

+0

好的,謝謝。 –