AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wave wiedergeben

Ein Thema von cchris · begonnen am 7. Aug 2003 · letzter Beitrag vom 13. Apr 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von cchris
cchris

Registriert seit: 16. Jun 2003
Ort: Taucha
71 Beiträge
 
Delphi 2005 Personal
 
#1

Wave wiedergeben

  Alt 7. Aug 2003, 13:41
Ich wollte ein rogramm schreiben, mit dem man verschiedene
Soundfiles ( *.wav ) auf Buttonklick wiedergeben kann, die man
vorher ausgewählt hat. Dazu verwendete ich folgenden code:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.execute then try
                      DXwavelist1.Items[1].Wave.LoadFromFile(opendialog1.filename);
                      edit1.text:=opendialog1.FileName;
                      except
                      showmessage('Ungültiges Dateiformat!');
                      end;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
DXWaveList1.Items[1].play(false);
end;
Der Soundtrack den ich zur Entwurfszeit ausgewählt habe, wird ohne Probleme wiedergegeben. ( Auch meherere verschiedene übernander, da ich das ganze insgesamt 10 Mal vereinbart habe. ) Wenn ich jetzt eine Datei zur Laufzeit laden will ( Button1 ) wird zwar der Dateiname im editfeld angezeigt, d.h. für mich es trat beim loadfromfile kein Fehler auf, aber wenn ich den sound mit button2 wiedergeben will, wird immernoch der alte, zur Entwicklungszeit eingestellte Soundtrack wiedergegeben. Eine Methode Refresh oder Updat gibt es in der Hilfe zu DelphiX bei diesem Typ nicht. Ich verwende die TDXWaveList. Wenn irgendjemand eine andere Lösung dafür oder den Grund für das Problem kennt, wäre es nett wenn er mir antworten würde. Wichtig ist aber, das die Sounds übereinander wiedergegeben werden können, und auch wiedergegeben werden, wenn die Anwendung den Focus verliert. Die Sounds sollten wenigstens jeweils ein Minute lang sein können.

cu Chris
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#2

Re: Wave wiedergeben

  Alt 7. Aug 2003, 14:04
Kenne mich mit der Komponente nicht aus...
Aber ich würde durch diese Zeile hier
DXWaveList1.Items[1].play(false); schätzen, dass der so ne Art Playlist drinne hat, wenn du musst den richtigen ItemIndex (Items[hier muss der richtiger Index stehen]) mit angeben...
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von cchris
cchris

Registriert seit: 16. Jun 2003
Ort: Taucha
71 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Wave wiedergeben

  Alt 7. Aug 2003, 15:27
TDXWave List ist eine Liste von audio objekten. Ich hab sie verwendet,
da ich ja 10 verschiedene sounds haben will. jedes Item steht für ein Soundobjekt. Dieses Objekt heist TWavCollectionItem und hat die Methoden:

Play
Restore
Stop

Properties:

Frequency
Initialized (Read only )
Looped
Name
Pan
Volume
Wave

Methoden von TWave:

Assign
Clear
Create
Destroy
LoadFromFile
LoadFromStream
SaveToFile
SaveToStream
SetPCMFormat

Eigenschaften von TWave:

Data (Read only)
Format(Read only)
FormatSize
Size

Wenn ich die Methode Restore nach dem Laden verwende, kann ich einmal Laden und dann die geladene Datei abspielen. Aber wenn ich dann noch irgend eine Datei lade wird wieder die erste, die zur Entwurfszeit ausgewählt wurde wiedergegeben. Wenn ich nochmal lade wird die wiedergegeben, die ich als erste zur Laufzeit ausgewählt hab. Diese beiden Waves wechseln sich dann immer ab. ( Entwurfszeitwave und !. Runtimewave )

cu Chris
  Mit Zitat antworten Zitat
Benutzerbild von cchris
cchris

Registriert seit: 16. Jun 2003
Ort: Taucha
71 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Wave wiedergeben

  Alt 7. Aug 2003, 15:28
TDXWave List ist eine Liste von audio objekten. Ich hab sie verwendet,
da ich ja 10 verschiedene sounds haben will. jedes Item steht für ein Soundobjekt. Dieses Objekt heist TWavCollectionItem und hat die Methoden:

Play
Restore
Stop

Properties:

Frequency
Initialized (Read only )
Looped
Name
Pan
Volume
Wave

Methoden von TWave:

Assign
Clear
Create
Destroy
LoadFromFile
LoadFromStream
SaveToFile
SaveToStream
SetPCMFormat

Eigenschaften von TWave:

Data (Read only)
Format(Read only)
FormatSize
Size

Wenn ich die Methode Restore nach dem Laden verwende, kann ich einmal Laden und dann die geladene Datei abspielen. Aber wenn ich dann noch irgend eine Datei lade wird wieder die erste, die zur Entwurfszeit ausgewählt wurde wiedergegeben. Wenn ich nochmal lade wird die wiedergegeben, die ich als erste zur Laufzeit ausgewählt hab. Diese beiden Waves wechseln sich dann immer ab. ( Entwurfszeitwave und !. Runtimewave ) Der Parameter False bei play gibt nur an, das nicht gewartet werden soll, bis irgend alle andereren Sounds fertig gespielt haben.

cu Chris
  Mit Zitat antworten Zitat
-homer-

Registriert seit: 1. Aug 2003
Ort: Düsseldorf
339 Beiträge
 
Delphi 7 Personal
 
#5

Re: Wave wiedergeben

  Alt 15. Aug 2003, 15:47
hi
ich wuerde an deinner stelle mitt dem mediaplayer die sounds einbinden mediaplayer

ich schreie nohmAL
Aaron B.
www.fainds-production.de.vu wir schreiben deine Programme, entwickeln Cs Movies... Suchen Member

Melden bei ISOF "ISOFAIND"... ICQ: 318117464
#FAINDs
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Wave wiedergeben

  Alt 15. Aug 2003, 16:38
Kannst ja mal zum Probieren gucken ob die "initialized"- Eigenschaft überhaupt true ist, bevor du abspielst.
Gibts vielleicht bei irgendeiner übergeordneten Klasse ne Methode "initialize" oder "load" oder so? Hab mich damit noch nich so richtig beschäftigt... hab die Suite auch nich.

Bis dann,

S - tefano
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Dagon

Registriert seit: 13. Jul 2003
505 Beiträge
 
Delphi 7 Professional
 
#7

Re: Wave wiedergeben

  Alt 15. Aug 2003, 16:42
du kannst mit delphix komponenten keinen sound aus einer datei laden!

DXwavelist1.Items[0].Wave.LoadFromFile(opendialog1.filename); funktionert nicht!
  Mit Zitat antworten Zitat
DSeven

Registriert seit: 13. Aug 2003
114 Beiträge
 
#8

Re: Wave wiedergeben

  Alt 16. Aug 2003, 03:17
Hallo

Wenn es für dich etwas umfangreicher sein kann köntest du dir folgenden Link anschauen: http://www.un4seen.com/

Dort findest du das Bass Sound System welches dir die möglichkeit bietet alle möglichen Sound Formate abzuspielen.

Bass selber wurde mit C++ geschrieben doch es gibt Delphi units die dir den zugriff auf die DLL'S erleichtern. Außerdem ist die Dokumentation sehr ausführlich.
Die Freie Entwicklungsumgebung für PHP
Symtec Development Studio
auf http://www.nostalb.de
  Mit Zitat antworten Zitat
Benutzerbild von cchris
cchris

Registriert seit: 16. Jun 2003
Ort: Taucha
71 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Wave wiedergeben

  Alt 18. Aug 2003, 13:14
@the_Master:
Doch es funzt. Ich mache es jetzt so, dass ich die Datei lade, die gesamte Liste nach C.\test.lst abspeichere und dann sofort neu lade.

cu Chris
  Mit Zitat antworten Zitat
Benutzerbild von cchris
cchris

Registriert seit: 16. Jun 2003
Ort: Taucha
71 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Wave wiedergeben

  Alt 7. Aug 2004, 20:50
Elegant ist es zwar nicht, aber darauf kommt es dort nicht an.
  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 23:22 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