Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从微调器选择加载声音池声音_Java_Android_Android Spinner_Soundpool - Fatal编程技术网

Java 从微调器选择加载声音池声音

Java 从微调器选择加载声音池声音,java,android,android-spinner,soundpool,Java,Android,Android Spinner,Soundpool,我希望能够加载大约30个声音中的5个声音,这取决于微调器的选择。我已经创建了initializeSoundPoolBank1-5(),并将它们添加到onItemSelectedListener中的switch语句中。但是,如果我直接从onCreate()调用初始值undpoolbank,它就不会播放声音了。我对编程和Android非常陌生,我意识到我肯定遗漏了一些东西,但我似乎找不到任何关于这方面的具体文档。应用程序没有崩溃,它只是不播放任何东西。任何帮助都将不胜感激。这是我的密码 selec

我希望能够加载大约30个声音中的5个声音,这取决于微调器的选择。我已经创建了initializeSoundPoolBank1-5(),并将它们添加到onItemSelectedListener中的switch语句中。但是,如果我直接从onCreate()调用初始值undpoolbank,它就不会播放声音了。我对编程和Android非常陌生,我意识到我肯定遗漏了一些东西,但我似乎找不到任何关于这方面的具体文档。应用程序没有崩溃,它只是不播放任何东西。任何帮助都将不胜感激。这是我的密码

 selectSoundBank.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {

            int instrumentDirInt = selectSoundBank.getSelectedItemPosition();

            switch (instrumentDirInt + 1){
                case 1:
                    initializeSoundPoolBank1();
                    break;
                case 2:
                    initializeSoundPoolBank2();
                    break;
                case 3:
                    initializeSoundPoolBank3();
                    break;
                case 4:
                    initializeSoundPoolBank4();
                    break;
                case 5:
                    initializeSoundPoolBank5();
                    break;
                default:
                    break;

            }

        }

        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {

        }
    });
然后从按钮点击播放

public void onPlay(View view) {
    bpmFromEditText = Integer.parseInt(setBPMEditText.getText().toString());
    millisecondsIntoThread = minute / (double) bpmFromEditText;
    loop = 0;
        RunnableThread runnableThread = new RunnableThread();
        new Thread(runnableThread).start();

}
class RunnableThread implements Runnable{
    @Override
    public void run() {
    int i;
        //millisecondsIntoThread = minute/quaver/bpmFromTextView;

        while (loop == 0) {

            for( i = 0; i < maqsum.size(); i++){

                try {
                    soundPool.play(maqsum.get(i),1.0f, 1.0f, 0,0,1);
                    Thread.sleep((long) millisecondsIntoThread);

                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
public void onPlay(视图){
bpmFromEditText=Integer.parseInt(setBPEditText.getText().toString());
毫秒读取=分钟/(双)bpmFromEdit文本;
循环=0;
RunnableThread RunnableThread=new RunnableThread();
新线程(runnableThread.start();
}
类RunnableThread实现Runnable{
@凌驾
公开募捐{
int i;
//毫秒SinToThread=分钟/quaver/bpmFromTextView;
while(循环==0){
对于(i=0;i
我尝试了不同的上下文(getApplicationContext()、myActivity.this等),但仍然一无所获。伙计们,我失去理智了,任何帮助都将不胜感激。
public void onPlay(View view) {
    bpmFromEditText = Integer.parseInt(setBPMEditText.getText().toString());
    millisecondsIntoThread = minute / (double) bpmFromEditText;
    loop = 0;
        RunnableThread runnableThread = new RunnableThread();
        new Thread(runnableThread).start();

}
class RunnableThread implements Runnable{
    @Override
    public void run() {
    int i;
        //millisecondsIntoThread = minute/quaver/bpmFromTextView;

        while (loop == 0) {

            for( i = 0; i < maqsum.size(); i++){

                try {
                    soundPool.play(maqsum.get(i),1.0f, 1.0f, 0,0,1);
                    Thread.sleep((long) millisecondsIntoThread);

                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}