In deinem Fall liegen die Samples als 16-Bit-Werte im Intel-Format (little endian) vor. Bei Stereo-Daten wechseln sich dabei die beiden Kanäle ab:
Code:
sample 0 sample 1 sample 2 sample 3 // sample
ch1 ch2 ch1 ch2 ch1 ch2 ch1 ch2 // Kanal (1=links, 2=rechts)
L H L H L H L H L H L H L H L H // Byte (L=low, H=high)
Wenn du nun mit einer Verschiebung von 1 Byte auf die Daten zugreifst, kommt es gleich zu mehreren Fehlern:
- die Byte-Reihenfolge im 16-Bit-Wort stimmt nicht mehr
- linker und rechter Kanal werden vermischt
- es findet ein sampleübergreifender Zugriff statt
Als Ergebnis erhältst du die dir bereits vertraute "Zufallsmusik".
Gruß Hawkeye