![]() |
verständnis problem beim Clonen eine Streams
Es wird eine Streamcopy erstellt.
dem Handle wird der MixerStream übergeben. Um die Daten jetzt in meinen Wrapper verarbeiten zu können hole ich mir den aktuell gültigen stream
Code:
Bis dahin wurde er mit den jeweiligen Daten gefüttert die benötigt werden.
return _streamcopy.Stream;
Nur leider sind die Daten nicht gültig um sie anschließend weiter verarbeiten zu können. Erst nach einer umwandlung
Code:
Sind die Daten vorhanden die ich benötige um sie zu visualisieren.
MusicStream stream = GetCurrentStream();
if (stream != null) { BassMix.BASS_Mixer_StreamAddChannel(_streamcopy.ChannelHandle, _streamcopy.Stream, BASSFlag.BASS_DEFAULT); _bufferStream = new DSP_BufferStream(); _bufferStream.ChannelHandle = _streamcopy.Stream; _bufferStream.OutputHandle = _streamcopy.ChannelHandle; _bufferStream.DSPPriority = -4000; _bufferStream.Start(); float[] fft = new float[4096]; int tst = Bass.BASS_ChannelGetData(_bufferStream.BufferStream, fft, (int)BASSData.BASS_DATA_FFT8192); return _bufferStream.BufferStream; } else { return 0; } Die frage wäre warum muss ich die Daten erst wieder befüllen wenn sie doch eigentlich im _mixer.Stream vorhanden sein müßten. Das selbe hier.
Code:
public override void DSPCallback(int handle, int channel, IntPtr buffer, int length, IntPtr user)
{ try { this._streamBuffer.Write(buffer, length); } catch (Exception ex) { Log.Error("Caught Exception in DSPCallBack. {0}", ex.Message); } }
Code:
Der Buffer wird gefüllt aber die Daten sind widerrum ungültig
private int WasApiCallback(IntPtr buffer, int length, IntPtr user)
{ if (_mixer == 0) { return 0; } try { return Bass.BASS_ChannelGetData(_mixer, buffer, length); } catch (Exception) { } return 0; } obwohl Streamcopy eingentlich eine copy des _mixer.stream ist. gruss |
AW: verständnis problem beim Clonen eine Streams
Mangels umgebenden Deklarationen verstehe ich von dem Code leider nur Bruchstücke. Deshalb nur mal so ins Blaue: setzt du den Stream nach dem Befüllen wieder auf Anfang bevor du ihn verarbeitest?
|
AW: verständnis problem beim Clonen eine Streams
Zitat:
Ich denke habe den Fehler gefunden. Die bei Mediaportal haben als Rückgabe den kompletten Stream incl. Record meinem Wrapper übergeben Gültig ist aber nur das Handle vom Channel
Code:
Das hat mich jetzt 3 Tage gekostet um den fehler zu bemerken. :oops:
return _streamcopy.ChannelHandle;
gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz