Я новичок в разработке приложений для Android и пытаюсь воспроизвести случайный .mp3 из папки /res/raw.
ИСПРАВЛЕНО У меня это пока есть, но я столкнулся с FileNotFoundException.
ИСПРАВЛЕНО Воспроизведение случайного звука только при первом нажатии, после этого тот же звук, если повторно не открыть приложение.
НОВАЯ ПРОБЛЕМА Теперь воспроизводит случайные звуки, но когда я нажимаю кнопку несколько раз, звуки начинают воспроизводиться одновременно, и в журналах по-прежнему появляется сообщение «start() mUri is null».
ОБНОВЛЕННЫЙ КОД
MediaPlayer player;
int soundIndex;
AssetFileDescriptor descriptor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* gets a random index from an array of sounds
*
* @return
*/
public int getRandomSoundIndex(){
int soundIndex;
int[] sound = SOUNDZ;
Random random = new Random();
soundIndex = random.nextInt(sound.length);
return sound[soundIndex];
}
/**
* Plays that random sound on button click
* @param button
*/
public void playRandomSound(View button){
//where button is physically located
button = (Button) findViewById(R.id.button1);
//get random sound index
soundIndex = getRandomSoundIndex();
//make media player
player = MediaPlayer.create(this, soundIndex);
//play sound
player.start();
}
Вот журнал:
09-21 17:42:32.528: D/MediaPlayer(4282): start() mUri имеет значение null