按下按钮播放随机声音

时间:2015-02-19 13:59:09

标签: android button android-activity soundpool

我希望我的应用程序在用户点击按钮时播放随机声音。所以我不想要安卓自然声音,每次用户点击一个按钮时我想播放自己的声音。有谁知道这个问题的解决方案。

2 个答案:

答案 0 :(得分:6)

播放声音:

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

不保证这是有效的!这只是一个例子,你怎么能做到!

答案 1 :(得分:1)

实现这一目标的一种方法是:

  1. 将您的声音嵌入MP3编码文件
  2. 在Android应用中附加点击事件处理程序

    myButtonTwo.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
    
           //code that runs when button is clicked
    
        }
    });
    
  3. 在事件处理程序

    中访问并播放应用程序中的嵌入式MP3文件

    MediaPlayer mPlayer = MediaPlayer.create(FakeCallScreen.this,R.raw.mysoundfile); mPlayer.start();

  4. How do I play an mp3 in the res/raw folder of my android app?

    解释完整过程的教程

    http://www.accelerated-ideas.com/news/android-app-development--how-to-add-and-play-music-and-audio-files.aspx

    修改

    禁用原生Android点击声音

    yourbutton.setSoundEffectsEnabled(false);
    

    来源:  Disable Button click sound in android