diff --git a/frontend/src/components/FileConfigCard.jsx b/frontend/src/components/FileConfigCard.jsx
index 253c7f2..dcc3d1b 100644
--- a/frontend/src/components/FileConfigCard.jsx
+++ b/frontend/src/components/FileConfigCard.jsx
@@ -7,6 +7,8 @@ const QUALITY_FORMATS = ['jpg', 'jpeg', 'webp', 'avif', 'tiff'];
const ICON_SIZES = [16, 32, 48, 256, 512];
const DEFAULT_ICON_SIZE = 256;
const ARCHIVE_COMPRESSION_FORMATS = ['zip', 'tar.gz', 'tar.bz2', '7z', 'tar.7z'];
+const AUDIO_BITRATE_FORMATS = ['mp3', 'ogg', 'aac', 'm4a'];
+const AUDIO_BITRATES = [128, 192, 256, 320];
function rangeProgress(value, min, max) {
return `${((value - min) / (max - min)) * 100}%`;
@@ -101,6 +103,25 @@ export function FileConfigCard({ item, index, t, onTargetFormatChange, onQuality
/>
)}
+ {AUDIO_BITRATE_FORMATS.includes(item.targetFormat) && (
+
+
{t('quality.bitrate')}
+
+ {AUDIO_BITRATES.map((bitrate) => (
+
+ ))}
+
+
+ )}
+
{item.targetFormat === 'ico' && (
{t('quality.iconSize')}
diff --git a/frontend/src/components/FormatMarquee.jsx b/frontend/src/components/FormatMarquee.jsx
index 17f9c6e..721460f 100644
--- a/frontend/src/components/FormatMarquee.jsx
+++ b/frontend/src/components/FormatMarquee.jsx
@@ -7,6 +7,7 @@ const PAIRS = [
['ttf', 'woff'],
['epub', 'mobi'],
['rar', 'zip'],
+ ['wav', 'mp3'],
];
function Pill({ from, to }) {
diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json
index 56c5a6b..51787a0 100644
--- a/frontend/src/locales/en.json
+++ b/frontend/src/locales/en.json
@@ -22,7 +22,8 @@
"label": "Quality",
"compression": "Compression",
"iconSize": "Icon size",
- "compressPdf": "Compress as JPEG"
+ "compressPdf": "Compress as JPEG",
+ "bitrate": "Bitrate"
},
"job": {
"converting": "Converting...",
diff --git a/frontend/src/locales/fr.json b/frontend/src/locales/fr.json
index 659f4c2..a0a46b7 100644
--- a/frontend/src/locales/fr.json
+++ b/frontend/src/locales/fr.json
@@ -22,7 +22,8 @@
"label": "Qualité",
"compression": "Compression",
"iconSize": "Taille de l'icône",
- "compressPdf": "Compresser en JPEG"
+ "compressPdf": "Compresser en JPEG",
+ "bitrate": "Bitrate"
},
"job": {
"converting": "Conversion en cours...",
diff --git a/frontend/src/pages/HomePage.jsx b/frontend/src/pages/HomePage.jsx
index 1c4b57b..82c108a 100644
--- a/frontend/src/pages/HomePage.jsx
+++ b/frontend/src/pages/HomePage.jsx
@@ -25,6 +25,10 @@ const DEFAULT_QUALITY = {
'tar.bz2': 9,
'7z': 5,
'tar.7z': 5,
+ mp3: 192,
+ ogg: 192,
+ aac: 192,
+ m4a: 192,
};
const DEFAULT_ICON_SIZE = 256;