Zitat:
Du hast das in dem Zitat aber auch richtig verstanden?
Entschuldige aber ich weis jetzt nicht was du nicht verstanden hast.
also gerne noch einmal.
Zitat:
Ich sagte auch ich kann 8, 16, und 32Bit Sample Float verarbeiten. Danke.
Delphi-Quellcode:
if ((flags and BASS_SAMPLE_FLOAT) = BASS_SAMPLE_FLOAT) then
// Ich tue etwas
if ((flags and BASS_SAMPLE_MONO) = BASS_SAMPLE_MONO) then
// Ich tue etwas anderes
if ((flags and BASS_SAMPLE_8BITS) = BASS_SAMPLE_8BITS) then
// Ich tue etwas ganz anders
ChannelDaten mit BASS können einmal als normaler Stream 8, 16, 32 Bit Floating Point übergeben werden.
Diese werden dann mit Bass_ChannelGetdata über entsprechenden Stream und übergebenen Flags eingelesen.
Abhängig von den Flags werden die Daten dann mit 8, 16, oder 32 Bit analysiert.
Daten können aber auch als Mixer Stream übergeben werden.
Dazu wird der Mixer erstellt.
Mixer_Handle := BASS_Mixer_StreamCreate(..
Spielt man nun einen Titel dann wird der Stream (normale unveränderte Daten) entsprechend der Datei erstellt.
Stream_Handle := Bass.BASS_StreamCreateFile(..
Verwendet man nun den Mixer dann wird dieser Stream dem Mixer Stream hinzugefügt.
BASS_Mixer_StreamAddChannel(Mixer_Handle, Stream_Handle...
Wenn ich nun Pech habe wird dieser Stream auch noch einmal mit DSP und oder Equalizer Effekte verändert und dann an meinem Wrapper geschickt.
Das nenne ich
nicht normalen Stream er wurde vorher extrem verfälscht\verändert)
Nun!
Wie kann ich das prüfen? Denke gar nicht.
Deswegen mein Edit in der vorherigen Post.
Ich mache gar nichts.
Ansonsten müsste ich den Stream in seine Einzelteile zerlegen um wieder auf den normalen Stream zu kommen.
Das scheint mir aber unmöglich zu sein.
Zitat:
Es hat also nichts mit 8, 16, und 32Bit Sample Float zu tun, sondern mit der Lautstärke der Streams.
Ja die Amplitude halt.
Zitat:
die einzig sinnvolle Entscheidung.
Ja denke auch
Danke für euer Interesse.