moaxl
14-01-2003, 20:07
falls es jemand braucht hier eine kurze Erklärung von bimbo mit großem Dankeschön an ihn für seine Erläurterungen:
*****************
was ich bisher(glaube ich) weis:
ein sample besteht aus den 2 nacheinanderfolgenden einträgen im
inData[], die muss man irgendwie verknüpfen, und das geht halt mit dem
"|" ich hab leider nicht die genaue funktionsweise im kopf aber ich
denk, dass das so wie eine addition funkt. zuerst veriebt man den ersten
teil nach rechts (<< 8 = multiplikation mit 256), und addiert dann binär
den 2ten teil( so bekommt man das sample)
ich glaub ungefähr so:
binär:
tempH = 10001011
tempH << 8 = 10001011 - 00000000
tempL = 01111111
((tempH <<8) |tempL) = 10001011 - 01111111
(die bindestriche sind nur als abgrenzung, und kein minus)
das verdoppeln der lautstärke kannst aber erst machen wenn du das ganze
sample hast(=((tempH <<8) |tempL) ) das kannst du mit 2 multiplizieren.
*****************
was ich bisher(glaube ich) weis:
ein sample besteht aus den 2 nacheinanderfolgenden einträgen im
inData[], die muss man irgendwie verknüpfen, und das geht halt mit dem
"|" ich hab leider nicht die genaue funktionsweise im kopf aber ich
denk, dass das so wie eine addition funkt. zuerst veriebt man den ersten
teil nach rechts (<< 8 = multiplikation mit 256), und addiert dann binär
den 2ten teil( so bekommt man das sample)
ich glaub ungefähr so:
binär:
tempH = 10001011
tempH << 8 = 10001011 - 00000000
tempL = 01111111
((tempH <<8) |tempL) = 10001011 - 01111111
(die bindestriche sind nur als abgrenzung, und kein minus)
das verdoppeln der lautstärke kannst aber erst machen wenn du das ganze
sample hast(=((tempH <<8) |tempL) ) das kannst du mit 2 multiplizieren.