Не воспроизводится музыка через MediaPlayer
Хочу сделать музыкальный проигрыватель. При нажатии на кнопку по идее должна воспроизводиться музыка. Но ничего не происходит. Помогите пожалуйста, в чем проблема?
Это метод, который воспроизводит музыку. Player - MediaPlayer
public void playSong(){
player.reset();
Song playSong = songList.get(songPosn);
long currSong = playSong.getId();
Uri trackUri = ContentUris.withAppendedId(
android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
currSong);
try{
player.setDataSource(getApplicationContext(), trackUri);
}
catch(Exception e){
Log.e("MUSICSERVICE", "Error setting data source", e);
}
player.prepareAsync();
player.start();
}
public void setSong(int songIndex){
songPosn=songIndex;
}
А тут обрабатывается нажатие на кнопку
public void songPicked(View view){
// Log.d("TAG", "setSong = " + view.getTag() );
try {
setSong(Integer.parseInt(view.getTag().toString()));
playSong();
Log.d("TAG", "setSong = " + view.getTag().toString() );
} catch (NullPointerException nullPointerException) {
Toast.makeText(musicSrv, "Something went wrong", Toast.LENGTH_SHORT).show();
}
Ответы (1 шт):
Автор решения: Style-7
→ Ссылка
Ожидаем окончания выполнения метода prepareAsync()
media_player.setOnPreparedListener( new MediaPlayer.OnPreparedListener(){
public void onPrepared( MediaPlayer mp ){
mp.start();
}
} );