processFile method

  1. @override
Future<String?> processFile(
  1. File inputFile, {
  2. String? outputPath,
})
override

Process an audio file and return processed file path

Implementation

@override
Future<String?> processFile(File inputFile, {String? outputPath}) async {
  if (!await inputFile.exists()) return null;

  _isProcessing.value = true;

  try {
    final inputBytes = await inputFile.readAsBytes();
    final processedData = await processAudioData(inputBytes.toList());

    if (processedData == null) return null;

    final output = outputPath ??
        inputFile.path.replaceAll('.aac', '_processed.aac');
    final outputFile = File(output);
    await outputFile.writeAsBytes(Uint8List.fromList(processedData));

    return output;
  } catch (e) {
    return null;
  } finally {
    _isProcessing.value = false;
  }
}