Hallo,
ich versuche aus einem mp3 file die decodierten audiodaten zu extrahieren, verwende hierzu die mpg123 library.
Die decoding funktion sieht folgendermassen aus:
Man kann der library vorm öffnen des files das gewünschte encoding format für die audiodaten mitgeben, default ist sie auf 16 bit signed int gesetzt.
Mein Problem ist es, aus dem unsigned char* array signed int werte zu lesen.
Da zb auf meinem system ein unsigned char 1 byte und ein signed int 4 bytes belegt, müsste ich logischerweise jeweils 4 unsigned chars aus dem buffer lesen und die
dann in ein signed int casten.
Anscheinend kann man das mit bitweisen operatoren lösen, ich komm aber einfach nicht drauf wie ich das gehen soll.
Hat von euch jemand ne Ahnung wie sowas funktioniert ?