Forum: Multimedia
Delphi
by Ducksoul,
10. Okt 2008
Also kann mir keiner mit dem Problem helfen, oder zumindest ahnen woran der Fehler jetzt liegt?
Forum: Multimedia
Delphi
by Ducksoul,
7. Okt 2008
Nabend,
ich muss mich leider nochmal melden. Ich weiß einfach nicht woran der Fehler liegen kann. Falls interesse besteht würde ich auch mal den kompletten Source an jemanden schicken, falls das einer mal testen möchte... Das Programm muss diese Woche fertig werden und ich bekomm einfach den Fehler nicht in den Griff....
Hier der aktuelle Code:
(* Callback RecStream *)
function...
Forum: Multimedia
Delphi
by Ducksoul,
11. Sep 2008
Guten Morgen,
also mein Code sieht nun wie folgt aus, aber das Rauschen besteht immernoch. Aber mir ist eingefallen woran es eventuell liegen könnte:
(* Angenommen ich nehme was auf, dann wird am Ende ja der Waveheader komplettiert. Nehme ich was neues auf, dann wird die vorige Datei mit kompletten Waveheader genommen und der Waveheader am Ende nochmal komplettiert und so weiter und sofort....
Forum: Multimedia
Delphi
by Ducksoul,
10. Sep 2008
So sieht die abgeänderte Version aus. Jetzt wird der Header nicht jedes mal neu geschrieben. Das war mir heute morgen schon aufgefallen, aber das abzuändern hatte leider nichts gebracht.
Das Problem mit dem Rauschen besteht aber leider immernoch, komischerweise nicht immer, sondern nur manchmal.
Kann es sein, dass aus mir unbekannten Gründen der Stream manchmal vorhandene Daten überschreibt...
Forum: Multimedia
Delphi
by Ducksoul,
30. Aug 2008
Nabend,
falls du meintest ich soll auf 3dlite.com schauen, dann muss ich leider sagen, dass man auf der Site momentan nicht viel findet ;)
Desweiteren ist doch da der gesamte Code, welcher Relevant ist, da ich ja nur am Wavestream rumschnippel :p Das BASS_ChannelGetLength(rchan) muss btw durch ein Wavestream.Size ersetzt werden.
Hast du evtl. noch andere Vorschläge?
Viele Grüße,
Franz
Forum: Multimedia
Delphi
by Ducksoul,
28. Aug 2008
Hi, das Problem ist doch noch nicht gelöst :(
Wenn die Länge der zweiten Aufnahme größer ist als die des ursprünglich überschriebenen Streams, dann entsteht ein ganz hässliches Rauschen. Ich glaube dass das mit SetSize zusammenhängt.
Hier der jetzige Code:
// Aufnahme je nach Aufnahmemodus
if WaveStream.Size = 0 then
begin
Forum: Multimedia
Delphi
by Ducksoul,
27. Aug 2008
WaveStream.Position := ProgressBar.Position;
WaveStream.SetSize(WaveStream.Size-WaveStream.Position);
So habe ich jetzt das Löschen des alten Parts, welcher übersprochen werden soll bewerkstelligt.
Damit habe ich meinen eigenen Thread wohl selber beantwortet *gg*
MfG
Franz
Forum: Multimedia
Delphi
by Ducksoul,
27. Aug 2008
Aktualisierung:
Das Einfügen einer Passage habe ich jetzt alleine hinbekommen. Ich hatte copyfrom total falsch verstanden. Hier der aktualisierte Code bisher:
// Aufnahme je nach Aufnahmemodus
if OverwriteRadioButton.Checked = True
then begin
if WaveStream.Size > 0
Forum: Multimedia
Delphi
by Ducksoul,
27. Aug 2008
Hallo mal wieder,
ich bräuchte mal wieder einen kleinen Denkanstoß. Momentan programmiere ich ein kleines Diktiergerät und benutze dazu die bass.dll.
Wenn jetzt der Nutzer etwas aufgenommen hat und merkt, dass er etwas ändern will, dann möchte ich, dass er an einer beliebigen Stelle die Aufnahme fortsetzen kann und der Rest der schon vorhandenen Aufnahme dann gelöscht/überschrieben wird.
...