convertToWavBytes method

  1. @override
Future<Uint8List> convertToWavBytes(
  1. Uint8List inputData,
  2. String formatHint, {
  3. int? sampleRate,
  4. int? channels,
  5. int? bitDepth,
  6. bool? includeHeader,
})
override

Implementation

@override
Future<Uint8List> convertToWavBytes(
  Uint8List inputData,
  String formatHint, {
  int? sampleRate,
  int? channels,
  int? bitDepth,
  bool? includeHeader,
}) async {
  try {
    final args = <String, dynamic>{
      'inputData': inputData,
      'formatHint': formatHint,
    };
    if (sampleRate != null) args['sampleRate'] = sampleRate;
    if (channels != null) args['channels'] = channels;
    if (bitDepth != null) args['bitDepth'] = bitDepth;
    if (includeHeader != null && includeHeader == false) args['includeHeader'] = false;
    final result = await methodChannel.invokeMethod<Uint8List>(
      'convertToWavBytes',
      args,
    );
    if (result == null) {
      throw AudioConversionException('Native conversion returned null');
    }
    return result;
  } on PlatformException catch (e) {
    throw AudioConversionException(
      e.message ?? 'Unknown conversion error',
      details: e.details?.toString(),
    );
  }
}