在我的Launchpad Simulator
主活動中有很多按鈕。
我想按每個按鈕播放聲音。如果同時按下按鈕,我想同時播放聲音。從我現在所做的事情來看,似乎每當我按下按鈕時它都會播放聲音,但是因爲第一個聲音的長度是3秒(例如,拍子聲音文件在播放時間長度爲3秒)。同時按下按鈕播放聲音
在通過按鈕產生任何其他聲音之前,它會等待3秒鐘,如果在3秒後按任何按鈕並與其他32按鈕相同,則會播放下一個聲音。
只要按下按鈕,就像啓動板一樣,我想要播放聲音。在這種情況下,拍手的聲音。
這裏是Java代碼:
MainActivity.java
package com.oniichansblog.launchpadify;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.media.MediaPlayer;
public class MainActivity extends AppCompatActivity {
private MediaPlayer clap1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
clap1 = MediaPlayer.create(this, R.raw.clap1);
}
public void clap1(View v){
clap1.start();
}
}
我只有這一個功能clap1()
正在被反覆調用,每次我按下一個按鈕。
,如果你想看看自己我有一個存儲庫: GitHub Repository for LaunchPadify
是的,它工作得很好,但按下幾個按鈕後,它停止鼓掌。我將留下一個鏈接到應用程序。如果你能親眼看到它在擊中10-15次後停止發出聲音的方式。 https://drive.google.com/open?id=0B5whGfbIoM7KVE56clVXY2dSUFU – Shanu
是的,這是由Media Player對象溢出引起的。您需要添加一個onCompletionListener,然後在播放完聲音後釋放(銷燬)MediaPlayer。 –
請您詳細說明。我是新的聲音 – Shanu