问题描述
我正在使用 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 (将#修改为@)