dispose method
Implementation
Future<void> dispose() async {
_durationTimer?.cancel();
await _stopRecordingInternal();
await _audioPlayer?.dispose();
_audioPlayer = null;
if (!_stateController.isClosed) {
await _stateController.close();
}
if (!_durationController.isClosed) {
await _durationController.close();
}
}