um aus deiner wav eine mp3 zu machen, könntest du versuchen, deine anwendung an die lame.dll bzw. lame.exe anzubinden... Hierbei handelt es sich nämlich um einen kostenlosen mp3-encoder.
Zu der Frage, wie du rausfinden kannst, ob es sich um eine wave oder eine mp3 handelt. Ich meine damals irgendwo bei den
JEDI-Komponenten einen ID3-Tag-Reader gesehen zu haben. Bei einer WAV-Datei ist
IMHO kein platz für diese Tags, was dazu führen müsste, dass dieser Reader ins leere greift (wäre eine Möglichkeit festzustellen, obs keine (!) MP3-Datei ist)
WAV-Dateien widerrum, erkennst du daran, dass sie einen RIFF-Header haben. Das Problem, dass du allerdings haben kannst ist, dass es sich bei WAV-Dateien lediglich um Container handelt, d.h. sie können eigentlich alles mögliche an Audio beinhalten.
Standardmäßig bringt IMAPCM, ADPCM und GSM (ich hoffe die Namen sind jetzt richtig) als Komprimierungsmethoden mit.
Jetzt könnte man natürlich hergehen und prüfen, inwiefern dein Server eine Wave-Datei benötigt.
Mit sehr viel Glück kann es sein, dass er nur einen WAV-Container braucht. Somit könntest du sogar direkt MP3-Daten in den WAV-Container schreiben. Dies würde natürlich vorraussetzen, dass der Server einen entsprechenden Codec installiert hat.
Du solltest es probeweise mit IMAPCM 4BIT, MONO, 22.05Khz ausprobieren, damit dürfte die Dateigröße auch schon beachtlich geschrumpft sein