微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用 Flutter 的 Range Slider 替换 Flutter 的 Slider?

如何解决用 Flutter 的 Range Slider 替换 Flutter 的 Slider?

我正在使用 Flutter 的 Slider 来控制 AudioPlayers 小部件 https://pub.dev/packages/audioplayers;

  Slider(
     onChanged: (v) {

         final duration = _duration;
         if (duration == null) {return;}
         final Position = v * duration.inMilliseconds;
         _audioPlayer.seek(Duration(milliseconds: Position.round()));

         },value: (_position != null && _duration != null && _position!.inMilliseconds > 0 && 
                     _position!.inMilliseconds < _duration!.inMilliseconds)? 
                 _position!.inMilliseconds / _duration!.inMilliseconds : 0.0,),

我想用范围滑块替换 Slider,这样我不仅可以设置要播放的音频的开始点,还可以设置结束点。换句话说,拖动左手拇指球将设置游戏开始的点,拖动右手拇指球将设置游戏结束点。单击音频播放器中的播放按钮会将左 V 形向前移动并播放,直到它遇到右侧 V 形或终点。这是一个基本的 Flutter Range Slider;

    double lowvalue = _position!.inMilliseconds/_duration!.inMilliseconds;      
    double highvalue = _duration!.inMilliseconds.todouble();
    RangeValues _values =  RangeValues(lowvalue,highvalue);

    RangeSlider(
      onChanged: (v) {

         final duration = _duration;
         if (duration == null) {
           return;

      }
         final Position = v * duration.inMilliseconds;
         _audioPlayer.seek(Duration(milliseconds: Position.round()));
          },values:_values,

但是在 _values 参数上使用 values: 会在星号上产生错误,告诉我;

The operator '*' isn't defined for the type 'RangeValues'. 

范围值可以使用什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。