2017-06-01 79 views
-2

我有這個想法,我不能代碼,所以我在這裏尋求幫助在活動中選擇一個聲音在另一個活動上播放

我有兩個活動的第一個: XML文件:按鈕 Java文件:點擊監聽器的按鈕來播放來自資源的的Soundpool類的聲音效果/生

--all simple--

什麼想要做的就是創建第二個活動,其中用戶可以從單選按鈕組中選擇其他聲音效果,例如Sound1或Sound2等,以便播放。

這是我的想法,所以請幫我編碼,因爲2周後我卡住了,我有0個線索,下一步是什麼。

SOS =)

回答

0

你可以定義一個全局變量的音效發揮:

int activeSoundEffectRawId = R.raw.defaultSound; 

並與您的Soundpool的load方法播放。

要選擇聲音播放,你可以添加另一個按鈕來啓動活性2您的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按鈕,將選定的聲音移交給活動1:

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(); 
    } 
}); 

之後,你可以設置在活動1選定的聲音:

@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隨着ra? – Prexx

+0

謝謝,我想通了..done =) –

相關問題