簡體   English   中英

許多Mediaplayer縮減為一個Mediaplayer? 怎么樣? 音板

[英]A lot of Mediaplayers shrink to one Mediaplayer? How? Soundboard

我是Java / Android Studio的初學者,正在寫一個Soundboard。

我的共鳴板每頁大約有10-15個按鈕,這是我的以下問題

我要宣布很多媒體播放器

  public class MainActivity extends AppCompatActivity {

 MediaPlayer X1;
 MediaPlayer X2;
 MediaPlayer X3;
 MediaPlayer X4;
 MediaPlayer X5;
 MediaPlayer X6;


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

    X1 = MediaPlayer.create(this, R.raw.x1);
    X2 = MediaPlayer.create(this, R.raw.x2);
    X3 = MediaPlayer.create(this, R.raw.x3);
    X4 = MediaPlayer.create(this, R.raw.x4);
    X5 = MediaPlayer.create(this, R.raw.x5);
    X6 = MediaPlayer.create(this, R.raw.6);

在我的XML文件中,每個按鈕的工作方式都是這樣

<Button
        android:text="X1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/button10"
        android:onClick="X1"
        android:elevation="0dp"
        android:background="android:attr/colorEdgeEffect"
        android:forceHasOverlappingRendering="false"
        android:textColor="@android:color/white"
        android:textSize="18sp"
        android:textStyle="normal|italic"
        android:layout_marginLeft="17dp"
        android:layout_marginStart="17dp"
        android:layout_marginTop="317dp" />

現在,我的問題是每個Mediaplayer都需要做很多工作,而對於許多Mediaplayers來說,應用程序崩潰或發生問題。

如何將所有Button匯總到一個MediaPlayer?

這只是我工作的示例代碼,有人可以為我更改此代碼嗎? 在某些主題中,我閱讀了“ oncompletionlistener”,但從未使用過。

Stackoverflow不會讓我回答,但我會再試一次:

  • 您可以重用一個對媒體播放器的引用,而無需定義服務器引用。
  • 您應該根據按鈕ID(或類似名稱)確定在onClick處理程序中播放哪種原始音頻(即,單擊按鈕時調用的方法,此處將視圖作為參數),即使用另一個引用在同一引用上創建原始音頻ID。

就像是:

android:onClick="playFile"

然后你有

public void playFile(View view){
       switch(view.getId()) {
    case R.id.button1:
      // play audio file 1
      break;
    case R.id.button2:
      // play audio file 2
      break;
     //....
  }
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM