DataSourceListener constructor
DataSourceListener({
- void onPlayingStatusChanged(
- DataType dataType,
- PlayingStatus status
- void onDataInterruptionEvent(
- DataType dataType,
- DataInterruptionReason reason,
- bool ended
- void onNewData(
- SenseData data
- void onProgressChanged()?,
Creates a new DataSourceListener and optionally registers the provided callbacks.
The factory returns a ready-to-use listener. Any non-null callback will be registered on the returned instance.
Parameters
onPlayingStatusChanged: Called when a data type's playing status changes. Arguments:dataType: The DataType whose status changed.status: The new PlayingStatus.
onDataInterruptionEvent: Called when data for a data type is interrupted. Arguments:dataType: The DataType affected by the interruption.reason: The DataInterruptionReason for the interruption.ended:truewhen the interruption ended,falsewhen it started.
onNewData: Called when new SenseData is available. Arguments:data: The received SenseData instance.
onProgressChanged: Called when playback progress changes. Arguments:progress: Integer progress value.
Implementation
factory DataSourceListener({
final void Function(DataType dataType, PlayingStatus status)?
onPlayingStatusChanged,
final void Function(
DataType dataType,
DataInterruptionReason reason,
bool ended,
)?
onDataInterruptionEvent,
final void Function(SenseData data)? onNewData,
final void Function(int)? onProgressChanged,
}) {
final DataSourceListener listener = DataSourceListener._create();
if (onPlayingStatusChanged != null) {
listener.registerOnPlayingStatusChanged(onPlayingStatusChanged);
}
if (onDataInterruptionEvent != null) {
listener.registerOnDataInterruptionEvent(onDataInterruptionEvent);
}
if (onNewData != null) {
listener.registerOnNewData(onNewData);
}
if (onProgressChanged != null) {
listener.registerOnProgressChanged(onProgressChanged);
}
return listener;
}