2010-06-15 110 views
23

如何在用戶觸摸圖像時設置音頻文件播放。Android:播放音頻剪輯onClick

我應該在哪裏存儲音頻文件,以及我應該用什麼代碼來真正播放文件? 我不想調出MediaPlayer接口或類似的東西。

我想這樣做是這樣的:

foo = (ImageView)this.findViewById(R.id.foo); 
    foo.setOnClickListener(this); 

public void onClick(View v) { 
if (foo.isTouched()) { 

playAudioFile(); 
    } 
} 

感謝

+1

正如下面的答案所描述的,把'my_sound.mp3'放入'res/raw /',然後通過'R.raw.my_sound'引用它。然而,你有兩個選擇:'MediaPlayer'和'SoundPool'。爲了有效的內存管理,你應該使用一個庫來處理這些類:https://github.com/delight-im/Android-Audio – caw 2015-04-01 22:41:05

回答

52

這不會創建一個彈出MediaPlayer的界面...它只會玩你想要的聲音。

Button boton = (Button) findViewById(R.id.boton); 
boton.setOnClickListener(new View.OnClickListener() { 
@Override 
public void onClick(View v) { 
    MediaPlayer mp = MediaPlayer.create(TestSonido.this, R.raw.slayer); 
    mp.start(); 
} 
}); 

在這種情況下,R.raw.slayer代表呼籲slayer.mp3存儲在res/raw/文件夾,一旦你點擊按鈕的機器人將搖滾你的音頻文件...

+0

如果我在完成前一個音頻剪輯之前點擊兩次按鈕,會發生什麼?會播放雙音頻? – Jay 2017-10-07 10:30:21