2

現在、SoundPool にさまざまなサウンドをロードするための 4 つの方法があります。引数を取り、それに基づいてさまざまなファイルをロードするユニバーサルメソッドを1つ用意することで、コードを簡素化/短縮したいと思います。

現在、私は持っています:

public void declareDrumsAmen(){
    kick = currentDrums.load(myContext, R.raw.amenkick, 1);
    hat = currentDrums.load(myContext, R.raw.amenhat, 1);
    snare = currentDrums.load(myContext, R.raw.amensnare, 1);
    snare2 = currentDrums.load(myContext, R.raw.amensnare2, 1);
}

public void declareDrumsFonk(){
    kick = currentDrums.load(myContext, R.raw.fonkkick, 1);
    hat = currentDrums.load(myContext, R.raw.fonkhat, 1);
    snare = currentDrums.load(myContext, R.raw.fonksnare, 1);
    snare2 = currentDrums.load(myContext, R.raw.fonksnare2, 1);
}
...
...

そしてさらに2つ。これらすべてを、次の行に沿ったものに置き換えたいと思います。

public void declareDrums(String kit){
    kick = currentDrums.load(myContext, R.raw.kitkick, 1);
    hat = currentDrums.load(myContext, R.raw.kithat, 1);
    snare = currentDrums.load(myContext, R.raw.kitsnare, 1);
    snare2 = currentDrums.load(myContext, R.raw.kitsnare2, 1);
}

しかし、私はこれを行う方法を知りません。誰でもガイダンスを提供できますか?

4

1 に答える 1

0

うーん、私の愚かさを気にしないでください。うまくいけば、これはグーグル検索でこれに出くわした他の誰かを助けるでしょう.

メソッド定義:

public void declareDrums(int resIDkick, int resIDhat, int resIDsnare, int resIDsnare2){
    kick = currentDrums.load(myContext, resIDkick, 1);
    hat = currentDrums.load(myContext, resIDhat, 1);
    snare = currentDrums.load(myContext, resIDsnare, 1);
    snare2 = currentDrums.load(myContext, resIDsnare2, 1);
}

呼び出し:

//declareDrums(R.raw.amenkick, R.raw.amenhat, R.raw.amensnare, R.raw.amensnare2);
declareDrums(R.raw.fpckick, R.raw.fpchat, R.raw.fpcsnare, R.raw.fpcsnare2);
于 2013-06-13T05:31:47.663 に答える