AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Delphi Sounds Problem

Ein Thema von Windowscratcher · begonnen am 9. Mai 2012 · letzter Beitrag vom 20. Mai 2012
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.372 Beiträge
 
Delphi 12 Athens
 
#1

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 20:36
[edit]
Zitat:
Danke,Danke,Danke!!!! Jetzt klappt es!
Na dann ist ja alles Gut.


Was mir grade aufgefallen ist.
MSDN-Library durchsuchenPlaySound ist natürlich besser und von sndPlaySound sollte man die Finger lassen. Eventuell hat das dann auch keine Probleme mit WAVEs in anderen Bitbreiten.
Wenn man mehr will, dann sollte man sich mal die anderen waveXXX-Funktionen ansehn.
Zitat:
MSDN-Library durchsuchensndPlaySound:

This function offers a subset of the functionality of the PlaySound function; sndPlaySound is being maintained for backward compatibility.
PS: Kann der Delphi-Referenz durchsuchenTMediaPlayer nicht auch WAVEs abspielen?
[/edit]



Delphi-Quellcode:
procedure PlayMySound(SndName: String); //uses mmSystem
var
  FilePath: String;
begin
  FilePath := ExtractFilePath(ParamStr(0)) + SndName + '.wav';
   ShowMessage(FilePath);
  if FileExists(FilePath) then
      //SndPlaySound(PAnsiChar(FilePath), SND_ASYNC ); //Alternative
     PlaySound(PChar(FilePath), hInstance, SND_ASYNC or SND_FILENAME)
     else //SndPlaySound(PAnsiChar(FilePath), SND_ASYNC ); //Alternative
     PlaySound(PChar(FilePath), hInstance, SND_ASYNC or SND_FILENAME)
end;
Ähhhh, du hast du eine Funktion gebaut, welche einen Alternativen Aufruf beinhaltet, hast aber am Ende alles ausgetauscht?

Im If-Then- und im Else-Block steht genau das Selbe drin.
Fazit: Es Das IF vollkommen sinnlos, da beise Male genau das Selbe gemacht wird.

Außerdem, wenn FileExists nichts findes, was soll dann abgespielt werden? Es wurde doch nichts gefunden.


Nonmal nachgefragt, weil ich langsam nicht mehr durchseh:
FileExists liefert immernoch False?

Wenn ja, dann solltest du rausfinden was mit deinem Pfad nicht stimmt und wo deine WAVE-Datei wirklich liegt.
Alles Anderer ist vollkommen sinnlos, denn wenn die Datei nicht dort gefunden werden kann, wohin der Pfad zeigt, dann kann man sonstwas versuchen, diese Datei wird niemals abgespielt.
Was nicht vorhanden ist, das kann auch nicht abgespielt werden.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (10. Mai 2012 um 20:53 Uhr)
  Mit Zitat antworten Zitat
Windowscratcher

Registriert seit: 9. Mai 2012
24 Beiträge
 
#2

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 21:15
@Himitsu Das mit dem IF und ELSE hab ich nur zum Test gemacht, das hab ich schon längst entfernt. Das Problem lag an der Datei selber, die wurde auf 32-Bit umgewandelt, was komischerweise nicht funktioniert. Wenn man die WAVE-Datei auf 16-Bit umwandelt klappt es.
Noch so ganz nebenbei, kann man seperat von den anderen PlayMySound-Befehlen ein paar SND_SYNC machen? Und gibt es eine Möglichkeit, ohne Mediaplayer mehrere Sounds gleichzeitig zu spielen? Weil ich muss das ja meinem Lehrer abgeben und der hat die Player bestimmt nicht
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#3

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 21:20
@himitsu

Die Funktion (ohne Else) ist aus meinem Beispiel. Ich hab FileExists da eingebaut, da in dem Programm, aus dem die Funktion ist, es besser war keine Reaktion zu erfahren, wenn die Wav nicht gefunden wurde, als eine falsche Reaktion, z. B. Beep o. Ä. Die SndPlaySound war noch ein Überbleibsel aus der ersten Version.

So wie ich das mitbekommen habe war die Wav schon da wo er sie vermutet hat, und es war auch eine Wav, aus irgendeinem Grund konnte sie aber nicht abgespielt werden. Das ist mir auch schon gelegentlich vorgekommen, z. B. das eine Wav oder eine Film nicht abgespielt wurden, weil irgendwas mit der Wav nicht stimmte. Nach einer Konvertierung klappt es wieder. Was der Grund ist weiß ich nicht, aber die Gründe können gelegentlich minimal sein. So konnte (vielleicht immer noch) der Windows Media Player keine Xvid-AVI abspielen, wenn im FourCC "xvid" statt "XVID" stand. Andere Player hatten das Problem nicht, der WMP brauchte die richtige Schreibweise. Kleine Ursache, große Wirkung.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.372 Beiträge
 
Delphi 12 Athens
 
#4

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 21:41
Nicht alle Funktionen/Komponenten können immer alle Formate/Versionen abspielen/verarbeiten.
Ein C++-Code läuft in meinem Delphi auch nicht so gut, obwohl es alles auch nur "Quellcodes" sind.

Diese Soundfunktionen kommen also entweder generell nicht mit 32-Bit-WAVEs klar, oder nur mit der speziellen Version eines 32-Bit-WAVEs.
Tja, da kann man nicht viel machen, außer das Einganghsformat anzupassen oder eben doch eine andere Abspielfunktion zu suchen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#5

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 22:33
32 Bit Soundfiles sind völlige Exoten, und finden so gut wie nirgendwo Anwendung. Im Homesegement ist der Standard 16 Bit wie auch auf CDs, im HiFi- und Cineastenbereich geht der Trend immer mehr zu 24 Bit. Im Profi-Einsatz ist man dann aber schon wieder eher mit 32 oder gar 64 Bit Float unterwegs. Waves mit den Randdaten 44,1 kHz Samplerate, 16 Bit Auflösung und 2 Kanälen (Stereo) sollten sich praktisch überall abspielen lassen, vor allem wenn sie nur PCM kodiert sind. Das ist imho der sicherste Weg.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Windowscratcher

Registriert seit: 9. Mai 2012
24 Beiträge
 
#6

AW: Delphi Sounds Problem

  Alt 20. Mai 2012, 14:39
Noch so ganz nebenbei, kann man seperat von den anderen PlayMySound-Befehlen ein paar SND_SYNC machen? Und gibt es eine Möglichkeit, ohne Mediaplayer mehrere Sounds gleichzeitig zu spielen? Weil ich muss das ja meinem Lehrer abgeben und der hat die Player bestimmt nicht
  Mit Zitat antworten Zitat
Antwort Antwort

 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:17 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