@vladocc

Какие есть не стоковые библиотеки для проигрывания музыки на Android?

Пользовался при разработке своего плеера стоковой библиотекой MediaPlayer для Android и вот, после n-ного количества смена DataSource'а, она решила мне сказать нет и кинула IllegalStateException на prepare. Чтобы добавить понимания, скажу, что это был цикл, в котором менялся лишь путь до файла и следовательно исключение должно было бы выпасть на первой итерации, но 6 итерация она точно проходит успешно. На какой она валится, выяснить не удалось.
В итоге, проще найти другую библиотеку, чем починить эту, т.к. отказаться от данного цикла у меня нет возможности.

Код:
public class Song {

    static MediaPlayer play = new MediaPlayer();
    static ArrayList<Song> Songs = new ArrayList<>();
    String name;
    String path;
    int Duration;
    int Number;

    Song(String songName, String songPath){
        name = songName;
        path = songPath;
        try {
            play.setDataSource(songPath);
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            play.prepare();
        } catch (IOException e) {
            e.printStackTrace();
        }
        Duration = play.getDuration();
        play.reset();
        Number = Songs.size();
        Songs.add(this);
    }

Другой класс ищет все песни на устройстве и при нахождении вызывается данный конструктор.
Быть может способ не самый удачный, но других я не знаю. С MediaMetadataRetriever все крашится еще быстрее.
  • Вопрос задан
  • 417 просмотров
Пригласить эксперта
Ответы на вопрос 1
@onepavel
Консультация и разработка мобильных приложений
Да не, либа нормальная, дело в руках. А по поводу сторонних, уже поднимался неоднократно вопрос
BASS, FMOD, SDL
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы