dispose method

Future<void> dispose()

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');
}