У меня есть виджет 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