2015-10-24 3 views
0

Я очень новичок в «кодировании» для Google Android.Android - Воспроизведение случайных звуков на кнопке Нажмите

На данный момент я программирую небольшое приложение с помощью одной кнопки. Если вы нажмете на него, он будет воспроизводить случайный звук. НО: D ... он играет звук, с каждой стороны другой. Но нет случайных звуков, если вы часто нажимаете кнопку.

Я не знаю, где моя ошибка.

Вот код (не смейтесь!):

public class MainActivity extends Activity { 

    //MediaPlayer 
    MediaPlayer mp; 
    ImageButton soundbutton; 

    //Sounds 
    int[] sounds={R.raw.s1, R.raw.s2, R.raw.s3, R.raw.s4, R.raw.s5, R.raw.s6, R.raw.s7, R.raw.s8, R.raw.s9, R.raw.s10}; 
    Random r = new Random(); 
    int Low = 0; 
    int High = 10; 
    int rndm = r.nextInt(High-Low) + Low; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     setContentView(R.layout.activity_main); 

     //MediaPlayer 
     soundbutton = (ImageButton)this.findViewById(R.id.randomsoundbutton89); 
     mp = MediaPlayer.create(getApplicationContext(),sounds[rndm]); 
     soundbutton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       try { 
        if (mp.isPlaying()) { 
         mp.stop(); 
         mp.release(); 
         mp = MediaPlayer.create(getApplicationContext(),sounds[rndm]); 
        } 
        mp.start(); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    } 
} 

Помощь! (из Германии)!

+1

Перемещение 'RNDM = r.nextInt (High-Low) + Low' задание внутри OnClick)' 'метода (. В противном случае он просто использует одинаковое количество раз. –

+0

Это работает, черт возьми, спасибо! – Jonathan

ответ

0

использовать этот код, чтобы получить различные звуковые

@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
requestWindowFeature(Window.FEATURE_NO_TITLE); 
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
setContentView(R.layout.activity_main); 

//MediaPlayer 
soundbutton = (ImageButton)this.findViewById(R.id.randomsoundbutton89); 
mp = MediaPlayer.create(getApplicationContext(),sounds[rndm]); 
soundbutton.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     try { 
      if (mp.isPlaying()) { 
       mp.stop(); 
       mp.release(); 
       rndm = r.nextInt(High-Low) + Low; 
       mp = MediaPlayer.create(getApplicationContext(),sounds[rndm]); 
      } 
      mp.start(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
}); 

}

Смежные вопросы