在我的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