dispose method
Implementation
Future<void> dispose() async {
await stopAudioStream();
try {
_opusDecoder?.destroy();
_opusDecoder = null;
if (!_audioDataController.isClosed) {
await _audioDataController.close();
}
if (!_processedAudioController.isClosed) {
await _processedAudioController.close();
}
await _log('=== AUDIO DEBUG SESSION ENDED ===');
if (_logFile != null) {
await _log('Audio debug log saved to: ${_logFile!.path}');
}
} catch (e) {
await _log('Error disposing AudioManager: $e');
}
_isInitialized = false;
await _log('AudioManager disposed');
}