AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Wav Datei in den Speicher laden... möglw. Pointer Problem
Thema durchsuchen
Ansicht
Themen-Optionen

Wav Datei in den Speicher laden... möglw. Pointer Problem

Ein Thema von Six · begonnen am 29. Jul 2005 · letzter Beitrag vom 30. Jul 2005
Antwort Antwort
Seite 1 von 2  1 2      
Six

Registriert seit: 2. Jun 2005
42 Beiträge
 
#1

Wav Datei in den Speicher laden... möglw. Pointer Problem

  Alt 29. Jul 2005, 19:13
Hallo,

Also, ich möchte die Funktion "CreatePCMMemoryFromFile(PAnsiChar,PWaveFormatEx,P Integer)", der Sound.dll von fAlter benutzen, um eine Wav Datei in den Speicher zu laden (zur weiteren Bearbeitung).

Das klappt auch ohne weiteres zum Beispiel folgendermaßen:

xy := CreatePCMMemoryFromFile('c:\xy.wav',@FormatStereo, @Size);

Der erste Parameter sollte aber durch einen OpenDialog gefüllt werden und hier ergibt sich plötzlich ein Problem:

Data5 := CreatePCMMemoryFromFile(@LiedDateiName,@FormatSter eo,@Size);

Obwohl in "LiedDateiName", genau der gleiche Pfad angegeben ist, wie im ersten Beispiel, lese ich bei der Ausgabe:

PlayPCMMemory(Data5, FormatStereo, Size * 2, nil);

für "Data5" nur "nil", also sind aus irdend einem Grund keine Daten verfügbar (wie gesagt, wenn ich den Pfad direkt angebe funktioniert es aber ohne Probleme).

Habe schon alle möglichen Varianten ausprobiert und bin langsam aber sicher am verzeifeln

Wer kann mir helfen?

Gruß

Six
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Wav Datei in den Speicher laden... möglw. Pointer Proble

  Alt 29. Jul 2005, 19:23
Hallo Six,

muss das nicht so aussehen:

Data5 := CreatePCMMemoryFromFile(PChar(LiedDateiName), @FormatStereo, @Size); Grüße vom marabu
  Mit Zitat antworten Zitat
Six

Registriert seit: 2. Jun 2005
42 Beiträge
 
#3

Re: Wav Datei in den Speicher laden... möglw. Pointer Proble

  Alt 29. Jul 2005, 19:56
Hi Marabu,

es scheint auf jeden Fall ein Schritt in die richtige Richtung zu sein, denn in Data5 steht nach dieser Prozedur tatsächlich "etwas" drin.

Leider produziert das Ganze jedoch eine Zugriffsverletzung und es wird auch kein Sound abgespielt

Hast du noch eine andere Idee?

Gruß

Six
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Wav Datei in den Speicher laden... möglw. Pointer Proble

  Alt 29. Jul 2005, 20:01
Ja - ich kenne zwar die Function nicht, aber wenn die Parameter 2 und 3 call bei reference wollen, dann muss der Address-Operator @ weg...

marabu
  Mit Zitat antworten Zitat
Six

Registriert seit: 2. Jun 2005
42 Beiträge
 
#5

Re: Wav Datei in den Speicher laden... möglw. Pointer Proble

  Alt 29. Jul 2005, 20:07
Also meinst du:

Data5 := CreatePCMMemoryFromFile(LiedDateiName,@FormatStere o,@Size);

und/oder

Data5 := CreatePCMMemoryFromFile(PChar(LiedDateiName),@Form atStereo,@Size); ?

Beides schon probiert

LiedDateiName ist ersetzbar durch:

OpenDialog.FileName; (String)
OpenDialog.Files.GetText; (pChar)

Six
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Wav Datei in den Speicher laden... möglw. Pointer Proble

  Alt 29. Jul 2005, 20:08
ich glaube, er meint das so:

Data5 := CreatePCMMemoryFromFile(PChar(LiedDateiName),FormatStereo,Size);
  Mit Zitat antworten Zitat
Six

Registriert seit: 2. Jun 2005
42 Beiträge
 
#7

Re: Wav Datei in den Speicher laden... möglw. Pointer Proble

  Alt 29. Jul 2005, 20:16
Die Restlichen Parameter sind richtig,

wie gesagt, es läuft ja, wenn ich für den ersten Parameter bspw. "c:\a.wav" einsetzte...
Das einzige Problem ist der erste Parameter...
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Wav Datei in den Speicher laden... möglw. Pointer Proble

  Alt 29. Jul 2005, 20:18
Eigentlich sollte dann ja das gehen:

Data5 := CreatePCMMemoryFromFile(PChar(OpenDialog1.FileName),@FormatStereo,@Size);
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: Wav Datei in den Speicher laden... möglw. Pointer Proble

  Alt 29. Jul 2005, 20:25
@Spider: genau so sehe ich dass auch, nachdem ich mir die function mal angesehen habe. Eventuell sind die beiden Variablen Size und FormatStereo nicht korrekt belegt...

marabu
  Mit Zitat antworten Zitat
Six

Registriert seit: 2. Jun 2005
42 Beiträge
 
#10

Re: Wav Datei in den Speicher laden... möglw. Pointer Proble

  Alt 29. Jul 2005, 20:31
Ja, stimmt, es sollte eigentlich funktionieren...

Hm, dass "format" und "size" falsch belegt sind, kann ich mir auch nicht vorstellen, da es bei ähnlichen funtionen genau so aussieht (hier wird der Ton "frisch" erzeugt) und es ja auch funktioniert, wenn ich den ersten Parameter mit 'bla' ausfülle.

So hab ichs auch schon getestet:
Data5 := CreatePCMMemoryFromFile(PChar(OpenDialog1.FileName ),@FormatStereo,@Size);

Klappt aber auch nciht, Zugriffsverletzung

Six
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:11 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