getAudioInfoBytes method

  1. @override
Future<AudioInfo> getAudioInfoBytes(
  1. Uint8List inputData,
  2. String formatHint
)
override

Implementation

@override
Future<AudioInfo> getAudioInfoBytes(Uint8List inputData, String formatHint) async {
  try {
    final buffer = await _decodeAudioData(inputData);
    final durationMs = (buffer.duration * 1000).round();
    final sampleRate = buffer.sampleRate.toInt();
    final channels = buffer.numberOfChannels;
    final bitRate = buffer.duration > 0 ? ((inputData.length * 8) / buffer.duration).round() : 0;
    return AudioInfo(
      duration: Duration(milliseconds: durationMs),
      sampleRate: sampleRate,
      channels: channels,
      bitRate: bitRate,
      format: formatHint,
    );
  } catch (e) {
    if (e is AudioConversionException) rethrow;
    throw AudioConversionException('Failed to get audio info: $e');
  }
}