【发布时间】:2015-02-19 13:59:09
【问题描述】:
我希望我的应用程序在用户单击按钮时播放随机声音。所以我不想要android自然的声音,我想每次用户点击一个按钮时播放我自己的声音。有谁知道这个问题的解决方法。
【问题讨论】:
标签: android button android-activity soundpool
我希望我的应用程序在用户单击按钮时播放随机声音。所以我不想要android自然的声音,我想每次用户点击一个按钮时播放我自己的声音。有谁知道这个问题的解决方法。
【问题讨论】:
标签: android button android-activity soundpool
播放声音:
Play sound on button click android
对于随机声音,您只需将所有声音添加到列表中。 在 onClickListener 中,只需从您的列表中获取随机声音。 像这样的:
List<Integer> soundList = new ArrayList<Integer>();
soundList.add(R.raw.sound1);
soundList.add(R.raw.sound2);
soundList.add(R.raw.sound3);
soundList.add(R.raw.sound4);
myButton.setOnClickListener(new OnClickListener {
@Override
public void onClick(View v) {
playRandomSound();
}
});
private void playRandomSound() {
int randomInt = (new Random().nextInt(soundList.size()));
int sound = soundList.get(randomInt);
MediaPlayer mp = MediaPlayer.create(this, sound);
mp.start();
}
不保证这行得通!这只是一个例子,你怎么能做到!
【讨论】:
实现这一目标的一种方法是:
在 Android 应用中附加点击事件处理程序
myButtonTwo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//code that runs when button is clicked
}
});
在事件处理程序中从应用程序访问和播放嵌入的 MP3 文件
MediaPlayer mPlayer = MediaPlayer.create(FakeCallScreen.this, R.raw.mysoundfile); mPlayer.start();
见 How do I play an mp3 in the res/raw folder of my android app?
一个解释完整过程的教程
编辑:
禁用原生安卓点击声音
yourbutton.setSoundEffectsEnabled(false);
【讨论】: