getSpeedButton method
Implementation
Widget getSpeedButton() {
speedLabel ??= TextView(speedLabelModel);
speedLabelModel.value = '${_controller?.value.playbackSpeed}x';
var label = Stack(alignment: Alignment.center, children: [
const Icon(Icons.circle, color: Colors.white38, size: 40),
speedLabel!
]);
var popup = PopupMenuButton<double>(
initialValue: _controller?.value.playbackSpeed,
tooltip: 'Playback speed',
onSelected: (double speed) {
_controller?.setPlaybackSpeed(speed);
speedLabelModel.value = '${speed}x';
},
itemBuilder: (BuildContext context) {
return <PopupMenuItem<double>>[
for (final double speed in _playbackRates)
PopupMenuItem<double>(value: speed, child: Text('${speed}x'))
];
},
child: label);
return Positioned(top: 5, right: 5, child: popup);
}