connectLocalSendTransportAudio function

Future<void> connectLocalSendTransportAudio(
  1. {required ConnectSendTransportAudioOptions options}
)

Connects the local send transport for audio by producing audio data and updating the local audio producer and transport.

Implementation

Future<void> connectLocalSendTransportAudio({
  required ConnectSendTransportAudioOptions options,
}) async {
  try {
    final parameters = options.parameters;
    final audioParams = parameters.audioParams;

    if (parameters.localProducerTransport != null && audioParams != null) {
      // Produce audio on the local transport
      parameters.localProducerTransport!.produce(
        track: options.stream.getAudioTracks().first,
        stream: options.stream,
        source: 'mic',
      );

      // Update local audio producer and transport
      if (parameters.updateLocalProducerTransport != null) {
        parameters
            .updateLocalProducerTransport!(parameters.localProducerTransport!);
      }
    }
  } catch (error) {
    if (kDebugMode) {
      print('Error connecting local audio transport: $error');
    }
    rethrow; // Re-throw to allow parent function to handle it
  }
}