preloadChapter method

Future<ConversionResult> preloadChapter({
  1. required String chapterId,
  2. required String chapterContent,
  3. AudioConversionConfig? config,
  4. dynamic onProgress(
    1. ConversionProgress
    )?,
})

Preload chapter audio (convert without playing)

Implementation

Future<ConversionResult> preloadChapter({
  required String chapterId,
  required String chapterContent,
  AudioConversionConfig? config,
  Function(ConversionProgress)? onProgress,
}) async {
  final conversionConfig = config ?? _config;

  // Check if already exists
  if (await BackgroundAudioConverter.hasAudioFile(chapterId, conversionConfig.audioFormat)) {
    return ConversionResult.success(
      filePath: await BackgroundAudioConverter.getAudioFilePath(chapterId, conversionConfig.audioFormat),
    );
  }

  // Convert in background
  return await BackgroundAudioConverter.convertTextToAudio(
    text: chapterContent,
    chapterId: chapterId,
    config: conversionConfig,
    onProgress: onProgress,
    showNotification: false,
  );
}