2017-06-01 5 views
-2

は私がコードをので、私はここに助け

のために求めていることができなかったこのアイデアを持って、私は2つのアクティビティ最初のものを持っている別のアクティビティで再生されるボタンを Javaファイル:RESからSoundPoolクラスで効果音を再生するには、ボタンのクリックリスナ/生

がsimple-- --allは何をしたいのか

は、第二のアクティビティを作成する場所ユーザーラジオボタングループからSound1やSound2 ...などの他のサウンドエフェクトを選択して、代わりに再生することができます。

これは私の考えだったので、私は2週間以来立ち往生しており、次のステップは何か手掛かりがありません。

効果音を再生するためにあなたは、グローバル変数を定義することができ

答えて

0

SOS =):

int activeSoundEffectRawId = R.raw.defaultSound; 

そして、あなたのSoundPoolのload方法でそれを再生します。再生するには、音を選択するには

、あなたがActivity2を開始し、あなたのxmlファイルに別のボタンを追加することができます。

Button btnSelectSound = (Button) findViewById (R.id.button2); 
btnSelectSound.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     startActivityForResult(new Intent(Activity1.this, Activity2.class), 1000); 
    } 
}); 

それはあなたが(この番号はできる要求コード1000で、ここでの結果のために活動を開始することが重要です必ず変更してください)。

あなたのアクティビティ2には、サウンドを選択するロジックが必要です。たとえば、選択を保存するための「OK」ボタンが必要です。それ[OK]ボタンをActivity1に選択したサウンドを引き渡すます:その後

Button btnOk = (Button) findViewById (R.id.ok); 
btnOk.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Intent returnIntent = new Intent(); 
     returnIntent.putExtra("soundRawId", selectedSoundRawId /* <- replace this with the selected sound, like R.raw.yourSound */); 
     setResult(Activity.RESULT_OK,returnIntent); 
     finish(); 
    } 
}); 

を、あなたはActivity1で選択された音を設定することができます。

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (requestCode == 1000 && resultCode == Activity.RESULT_OK) { 
     selectedSoundRawId = data.getIntExtra("soundRawId"); 
    } 
} 
+0

は完全にあなたにそんなに作品をありがとう。しかし私はRadioGroupを使ってそれを単純化し、ユーザーのために音を選択してActivity1に戻す必要があります。再度感謝します! –

+0

@Claudenixとは? – Prexx

+0

ありがとう、私はそれを考え出した..行った=) –