#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