AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia BASS_SAMPLE_FLOAT kein Beat
Thema durchsuchen
Ansicht
Themen-Optionen

BASS_SAMPLE_FLOAT kein Beat

Ein Thema von EWeiss · begonnen am 11. Aug 2011 · letzter Beitrag vom 12. Aug 2011
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

BASS_SAMPLE_FLOAT kein Beat

  Alt 11. Aug 2011, 13:16
Wie muss ich den Stream berechnen damit ich wieder den richtigen ausschlag bei der Visualisierung erhalte?

Damit ich nicht meine API abermals ändern muss habe ich mir folgendes gedacht.
Ich hole mir über ChanInfo die Informationen vom Stream ein

Delphi-Quellcode:
var
ChanInfo: BASS_CHANNELINFO;

begin
      FillChar(ChanInfo, SizeOf(BASS_CHANNELINFO), 0);
      BASS_ChannelGetInfo(FChannelID, ChanInfo);
und vergleiche anschließend ob BASS_SAMPLE_FLOAT verwendet wird.

Delphi-Quellcode:
      if ((ChanInfo.flags and BASS_SAMPLE_FLOAT) = BASS_SAMPLE_FLOAT) then
      begin

So weit so gut.
Wie berechne ich nun den Stream damit er wieder korrekt Visualisiert wird.


Delphi-Quellcode:
        if (FChannels = 1) or (FChannels > 2) then
        begin
          BASS_ChannelGetData(FChannelId, @SpectrumData, BASS_DATA_FFT2048);

          for i := 1 to 576 do
          begin
            p2^ := Trunc(SpectrumData[i] * FVisScale);
            Inc(p2);
          end;

          for i := 1 to 576 do
          begin
            p2^ := Trunc(SpectrumData[i] * FVisScale);
            Inc(p2);
          end;
        end
Die frage wäre also zurück in einen 16Bit Stream konvertieren? (Wie?)
Dann muss ich meine Function nicht neu schreiben.

oder über einen Temporären Buffer schicken.
Mir fällt aber nicht ein wie ich das berechnen kann.

schön wenn mir da jemand helfen könnte.

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: BASS_SAMPLE_FLOAT kein Beat

  Alt 11. Aug 2011, 20:40
Will oder kann mir niemand helfen ?

gruss
  Mit Zitat antworten Zitat
Wishmaster

Registriert seit: 14. Sep 2002
Ort: Steinbach, MB, Canada
301 Beiträge
 
Delphi XE2 Architect
 
#3

AW: BASS_SAMPLE_FLOAT kein Beat

  Alt 12. Aug 2011, 06:17
Hi

erstens du musst nichts zurück nach 16 Bit konvertieren! Schaue dir mal die SampleVis Demo an
und im code BASS_StreamCreateFile ad BASS_SAMPLE_FLOAT und du wirst sehen das alles genau so funst wie es so inc. 16/32 Bit
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: BASS_SAMPLE_FLOAT kein Beat

  Alt 12. Aug 2011, 13:20
Hi

erstens du musst nichts zurück nach 16 Bit konvertieren! Schaue dir mal die SampleVis Demo an
und im code BASS_StreamCreateFile ad BASS_SAMPLE_FLOAT und du wirst sehen das alles genau so funst wie es so inc. 16/32 Bit
Sorry verstehe nicht was du mir damit sagen willst.
Es ist so das meine Renderengine mit einem 32Bit floating Stream nicht mehr so funktioniert wie sie es mit einem 16 Bit Stream tut.

Ich muss quasi den Stream der mir geliefert wird gegenprüfen um dann darauf reagieren zu können.
Mein Problem ist nur wie ich dann den 32 Bit stream berechnen bzw. meine Renderfunction darauf anpassen muss.

EDIT:
Zitat:
und im code BASS_StreamCreateFile ad BASS_SAMPLE_FLOAT und du wirst sehen das alles genau so funst wie es so inc. 16/32 Bit
Nö funst nicht (in deiner Sprache)

Es tut genau das was es soll.
Es hat genau die gleichen probleme wie ich, was auch verständlich ist ein 16Bit Stream ist halt kein 32Bit Stream.

16Bit-Integer ist nun mal mehr oder weniger als 32Bit-Float..
Deshalb funktioniert es nicht richtig.


gruss

Geändert von EWeiss (12. Aug 2011 um 14:18 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz