我有一个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