'use client'; import * as React from 'react'; import { FileAudio, X } from 'lucide-react'; import { Card, CardContent } from '@/components/ui/Card'; import { Button } from '@/components/ui/Button'; import { formatFileSize, formatDuration } from '@/lib/audio/decoder'; import { cn } from '@/lib/utils/cn'; export interface AudioInfoProps { fileName: string; audioBuffer: AudioBuffer; onClear?: () => void; className?: string; } export function AudioInfo({ fileName, audioBuffer, onClear, className }: AudioInfoProps) { const fileSize = audioBuffer.length * audioBuffer.numberOfChannels * 4; // Approximate size in bytes return (

{fileName}

{onClear && ( )}
Duration:{' '} {formatDuration(audioBuffer.duration)}
Sample Rate:{' '} {audioBuffer.sampleRate.toLocaleString()} Hz
Channels:{' '} {audioBuffer.numberOfChannels === 1 ? 'Mono' : audioBuffer.numberOfChannels === 2 ? 'Stereo' : `${audioBuffer.numberOfChannels} channels`}
Size:{' '} {formatFileSize(fileSize)}
); }