Используете ли вы SoundPool
.Выглядит это так:
soundPool = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
Число 5 выше означает, что одновременно может работать максимум 5 потоков.Так.вы просто измените 5 на 1. И если вы используете функцию других.У конструктора его метода вы должны заметить параметр, имя которого похоже на maxStream
И, конечно, что-то зависит от вашего кода, например, если вы сделаете так:
public void onSufftle(){
String musicfile = Random(...); //your random algorithm to sufftle music
AssetManager assetManager = getAssets();
AssetFileDescriptor descriptor = assetManager.openFd(musicfile); mediaPlayer.setDataSource(descriptor.getFileDescriptor(),descriptor.getStartOffset(),descriptor.getLength());
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.prepare();
mediaPlayer.start();
И, конечно, если ваш код подобен этому, каждая новая музыка - это новый сервис, потому что вы объявляете новый экземпляр MediaPlayer.
Так что внимательно проверьте ваш код еще раз:)