Прослушивание песни заканчивается в just_audio

#flutter #just-audio

Вопрос:

Я хочу спросить, есть ли какой-нибудь поток для прослушивания, когда песня заканчивается, чтобы сделать что-то в этот момент в пакете just_audio flutter или есть какой-либо способ сделать это ?

Ответ №1:

Если посмотреть документацию, в экземплярах AudioPlayer есть поле под названием PlayerState или playerStateStream (если вы хотите прослушивать события). playerStateStream можно прослушивать с помощью потока, который имеет поле под названием processingState. В этом поле содержится вся необходимая вам информация (вот список). Если состояние обработки завершено, то игрок закончил играть.


Пример:

 _player.playerStateStream.listen((playerState) {
    if (playerState.processingState == ProcessingState.completed) {
        // Some Stuff
    }
});
 

Комментарии:

1. Спасибо за ответ, но не очень хорошо понимаю, протестировал, но возникли проблемы, можете ли вы показать пример ?

2. Пожалуйста, добавьте код виджета, в котором вы пытаетесь прослушать конечное событие.

3. _player.playerStateStream.listen((state) { if (state == ProcessingState.completed) { // Some Stuff } else { // Some Other Stuff } }); В функции, которая вызывается при инициализации состояния

4. ДА. Не забудьте удалить подписку на поток в разделе «Удалить».

5. Я уже утилизировал плеер, но ошибка показывает красную волнистую линию на state == ProcessingState.completed