Flutter Just Audio воспроизведение событий - PullRequest
0 голосов
/ 11 февраля 2020

Я использую пакет под названием Just Audio в своем приложении Flutter. Он предоставляет playBackEvent: playEvent.currentPosition, который показывает временную позицию, которая была воспроизведена в аудиофайле. Однако я немного новичок в Dart и не очень понимаю, как подписать слушателя на это событие, чтобы я мог что-то сделать с изменяющимися значениями.

Я хочу запустить функцию, которая устанавливает состояние при изменении значения, чтобы я мог показать прогресс и дать пользователям знать, как далеко они находятся в аудиофайле в данный момент.

Может кто-нибудь объяснить мне, как я должен это сделать?

Любая помощь будет высоко ценится.

1 Ответ

1 голос
/ 11 февраля 2020

Полный образец доступен здесь .

 StreamBuilder<Duration>(
            stream: _player.durationStream,
            builder: (context, snapshot) {
              final duration = snapshot.data ?? Duration.zero;
              return StreamBuilder<Duration>(
                stream: _player.getPositionStream(),
                builder: (context, snapshot) {
                  var position = snapshot.data ?? Duration.zero;
                  if (position > duration) {
                    position = duration;
                  }
                  return SeekBar(
                    duration: duration,
                    position: position,
                    onChangeEnd: (newPosition) {
                      _player.seek(newPosition);
                    },
                  );
                },
              );
            },
          ),
...