AGB  ·  Datenschutz  ·  Impressum  







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

Delphi Sounds Problem

Ein Thema von Windowscratcher · begonnen am 9. Mai 2012 · letzter Beitrag vom 20. Mai 2012
Antwort Antwort
Seite 5 von 6   « Erste     345 6      
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#41

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 20:42
OK, also ist die Datei an sich in Ordnung und es liegt an selbiger. Ich habe gerade selber etwas rumprobiert und festgestellt, dass MP3s gar nicht abgespielt werden und stattdessen nur ein Beep aus den PC-Speaker kommt (wird wohl daran liegen, dass ich "Standard-Warnton" deaktiviert habe). D.h. du musst schauen, welche Codierung deine WAV verwendet, denn WAV ist nicht gleich WAV (man kann in WAV unterschiedliche Kodierungen benutzen, z.B. PCM oder sogar MP3).

Oder einfacher: probier mal eine von den mit Windows gelieferten WAVs, zu finden in C:\Windows\Media.

MfG Dalai
  Mit Zitat antworten Zitat
Windowscratcher

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

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 20:50
Okay, du hast recht. Habs mal mit ner Windows-eigenen WAV versucht und hat direkt geklappt. Das heißt, es liegt an der Datei. Ich habe die übrigens vom MP3 in WAV umgewandelt mit "ABC Amber Audio Converter" aber ich hab gedacht das wär nicht so wichtig. Kennst du nebenbei ein gutes MP3 to WAV Converter-Programm?
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#43

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 20:52
Installiere dir mal das Programm AviCodec. Das Programm ist zwar eher um Codesc der Filme anzuzuzeigen, aber man kann auch eine Musikdatei öffnen. Bei Wav sollte im Codec irgendwas mit PCM stehen. Prüfe das mal.
  Mit Zitat antworten Zitat
Windowscratcher

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

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 20:59
Okay, bei Avicodec steht im Register "A.1 Codec - Name" MS PCM. Was bedeutet das?
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#45

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 21:20
Das es durchaus eine Wav ist. Warum es dann noch nicht abgespielt wird, keine Ahnung. Aber sowas kenne ich. Meistens liegt es an Konvertersoftware, die es fehlerhaft konvertiert.

Was ich die als Software empfehlen kann ist Format Factory. Sie ist kostenlos, konvertiert von Video bist Audio fast alles, und ist gut.
  Mit Zitat antworten Zitat
Windowscratcher

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

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 21:30
Danke,Danke,Danke!!!! Jetzt klappt es! Ich habe das mit einem Programm konvertiert, welches automatisch die Audiodatei in 32 Bit umgewandelt hat, es klappt aber nur mit 16 Bit. Direkt auf 16 Bit umgewandelt, und siehe da, es klappt! Danke, echt. Ich hab den Thread erst gestern aufgemacht und schon gibt es über 40 Antworten. Das nenn ich mal ein richtiges Forum
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 21: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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

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

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

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 22: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
 
#49

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 22: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
Online

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

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 22: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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 6   « Erste     345 6      

 

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