如何将flutter_sound的seekToPlayer方法用于滑块的属性onChanged

时间:2019-01-19 23:35:54

标签: dart flutter slider flutter-dependencies

我有一个Slider小部件,当我将Slider的当前值移动到在Slider中将其拖动到的新值时,我想对其进行更新,但是我不知道如何正确地寻找当前正在播放的音频。 “新”值,因为某种原因,至少对于我来说,seekToPlayer方法没有做任何事情。我希望有人来指导我,因为它很新,所以我找不到关于它的任何教程。

由于值属性被设置为与来自侦听器的音频的当前位置相匹配,所以当前滑块与音频一起跟随。

滑块:

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

0 个答案:

没有答案