Hallo allerseits.
Ich bin ja grade dran mich intensiver mit monitord auseinanderzusetzen. Nen funktionstüchtigen Client zur SMS und Emailalarmierung hab ich schon erfolgreich laufen. Ich werd demnächst hier mal mehr dazu schreiben, wenn ich meine Passwörter aus den Sourcen draußen hab. ;)
Jedenfalls hab ich mir natürlich auch schon angeguckt, wie man die lame abhängigkeit rausbekommen könnte. Meines erachtens wäre es am sinnvollsten, dazu eine der einschlägigen Audiolibs zu verwenden anstatt immer einen codec direkt reinzustricken.
Zuerst dachte ich an libsndfile - http://www.mega-nerd.com/libsndfile/ - die nur leider alles kann, außer mp3. Vorteil wäre, sie ist hölleneinfach einzubauen.
Viel mehr Audioformate kann die altbekannte libsox - http://sox.sourceforge.net/. Auch dafür gibts codebeispiele, daher müßte sich das auch machen lassen die reinzubekommen. Damit könnte man eigentlich alle möglichen und unmöglichen Dateiformate schreiben.
Ich hab mal bissl probiert und was Kompression von Funksprüchen betrifft stehen mp3 und ogg/vorbis Welten hinter Verfahren wie amr oder gsm, die ja auf Sprachkompression ausgelegt sind.
Hier ein Beispiel:
2,2M alarm.raw
395K alarm-a-law.wav
395K alarm-u-law.wav
203K alarm-ms-adpcm.wav
149K alarm.mp3
141K alarm.ogg
81K alarm-gsm.wav
23K alarm-wb.amr
19K alarm-nb.amr
Alle Dateien enthalten denselben Mitschnitt. mp3 und ogg sind jeweils in schlechtester Qualität, d.h. bestmöglicher Kompression verpackt. Alle Ergebnisse sind bestens verständlich und haben kaum nennenswerte Qualitätsunterschiede.
All diese Formate kann sox, daher sollte das wohl die beste Wahl sein.
Grüße,
Christopher