Как мне использовать метод seekToPlayer flutter_sound для свойства слайдера onChanged - PullRequest
0 голосов
/ 20 января 2019

У меня есть виджет Slider, который я хочу обновить, когда я перемещаю текущее значение Slider на новое значение, на которое я перетянул его в Slider, но я не знаю, как правильно искать звук, который в данный момент воспроизводится на этом «новое» значение, потому что по какой-то причине метод seekToPlayer ничего не делает, по крайней мере, для меня. Я надеялся, что кто-нибудь поможет мне, потому что я не могу найти учебники по этому поводу, потому что он довольно новый.

Ползунок в настоящее время следует за аудио, потому что свойство value установлено в соответствии с текущей позицией аудио от слушателя.

Slider:

Slider(
   inactiveColor: Theme.of(context).primaryColor,
   min: 0.0,
   value: position_seek.toDouble(), // position_seek is set to the current position of audio
   max: max_position, // this is set to the duration of audio
   onChanged: (double value) {
      setState(() async{
        await flutterSound.seekToPlayer(value.toInt());     
      });
    },
    divisions: max_position.toInt(),
)

Слушатель:

_playerSubscription = flutterSound.onPlayerStateChanged.listen((e) {
  if (e != null) {
    position_seek = e.currentPosition.toInt();
    max_position = e.duration;

    DateTime date =
        new DateTime.fromMillisecondsSinceEpoch(e.currentPosition.toInt());

    String txt = DateFormat('mm:ss:SS', 'en_US').format(date);
    setState(() {
      this._isPlaying = true;
      //this._playerTxt = txt.substring(0, 8);
    });
  }

Ссылка на github для плагина находится здесь: flutter_sound_plugin

...