我對Android應用程序開發相當新穎,我試圖從/ res/raw文件夾隨機播放.mp3。Android:OnClick隨機播放.mp3來自/ res /原始文件
FIXED我到目前爲止,但我遇到了FileNotFoundException。
FIXED只有在第一次點擊時播放隨機聲音,之後聲音纔會相同,除非重新打開應用程序。
NEW ISSUE現在播放隨機聲音,但是當我多次單擊按鈕聲音開始播放時,仍然在日誌中獲得「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):開始()MURI爲空
謝謝!我用它自己的文字Java int [] 第一次點擊播放隨機聲音現在,當我再次單擊該按鈕時,它會播放相同的聲音。有沒有辦法重置按鈕點擊? – LenaSanch
在日誌中顯示「MediaPlayer(4282):start()mUri爲空」這是什麼意思? – LenaSanch
@LenaSanch:「有沒有辦法重置按鈕點擊?」 - '創建()'一個新的'MediaPlayer',AFAIK。 – CommonsWare