create static method

Future<LocalAudioTrack> create([
  1. AudioCaptureOptions? options
])

Creates a new audio track from the default audio input device.

Implementation

static Future<LocalAudioTrack> create([
  track_options.AudioCaptureOptions? options,
]) async {
  options ??= const track_options.AudioCaptureOptions();
  final stream = await LocalTrack.createStream(options);

  final track = LocalAudioTrack(
    TrackSource.microphone,
    stream,
    stream.getAudioTracks().first,
    options,
  );

  try {
    if (options.processor != null) {
      await track.setProcessor(options.processor);
    }
  } catch (error, stackTrace) {
    try {
      await track.stop();
    } catch (stopError) {
      logger.warning('failed to stop audio track after processor setup failure: $stopError');
    }
    Error.throwWithStackTrace(error, stackTrace);
  }

  return track;
}