MediaPlayer на Android воспроизводит только часть моей песни :(

Я пытаюсь воспроизвести файл с помощью MediaPlay. При первом воспроизведении он воспроизводится только в течение 1 или 2 секунд, затем отключается и больше не возвращается. Второй раз, когда я играю песню, она длится около 3 секунд. Эта функция находится в функции onCreate:

checkin.setOnCheckedChangeListener(new OnCheckedChangeListener(){
   public void onCheckedChanged(CompoundButton buttonView, boolean isChecked){
   MediaPlayer mp = MediaPlayer.create(context, R.raw.my_song);
   mp.start();
   v.vibrate(500);
   myLocation.getLocation(context, locationResult);
}

Является ли очистка другой темы приоритетом над песней? Как мне заставить играть всю мою песню?


person Alexis    schedule 06.08.2010    source источник


Ответы (1)


Похоже, вы вызываете start() слишком быстро, прежде чем проигрыватель фактически загрузит все, что ему нужно для воспроизведения песни. Используйте setOnPreparedListener(), чтобы начать воспроизведение после того, как песня будет подготовлена ​​к воспроизведению.

person Konstantin Burov    schedule 06.08.2010