Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Delphi Wav Datei zufällig abspielen und erkenne (https://www.delphipraxis.net/185312-wav-datei-zufaellig-abspielen-und-erkenne.html)

FG53 29. Mai 2015 16:34

Wav Datei zufällig abspielen und erkenne
 
Hallo,
ich habe ein frage ich bin grade dabei ein kleines program zu schreiben allerdings
bei dem Hauptcode fehlt mir die erfahrung.:pale::pale:
Das Programm soll per Button eine Wav oder Mp3 datei zufällig abspielen die in einem Ordner sind
und der Hörer soll das erkennen und per Button 7 an der Zahl veruschen zu erraten.:)
Ich danke schonmal für die Hilfe.:-D

Popov 29. Mai 2015 17:02

AW: Wav Datei zufällig abspielen und erkenne
 
Hier ein Code aus einem Demo-Programm von mir, den ich hier irgendwo veröffentlicht habe. Abgespielt wird ein zufälliger Sound von zehn. Du müsstest es für deine Anforderungen anpassen. Außerdem spielt er nur Wavs ab.
Delphi-Quellcode:
procedure PlaySound2(SndName: String); //uses mmSystem
var
  sl: TStringList;
  i: Integer;
  PathSnd, ExtSnd, FilePath: String;
begin
  PathSnd := ExtractFilePath(ParamStr(0)) + FolderSnd1;

  ExtSnd := '.wav';

  sl := TStringList.Create;
  try
    for i := 0 to 9 do
    begin
      FilePath := PathSnd + SndName + IntToStr(i) + ExtSnd;
      if FileExists(FilePath) then
        sl.Add(FilePath);
    end;

    if sl.Count > 0 then
    begin
      FilePath := sl[Random(sl.Count)];

      if FileExists(FilePath) then
        mmSystem.PlaySound(PChar(FilePath), hInstance, SND_ASYNC or SND_FILENAME);
        {Alternative - SndPlaySound(PAnsiChar(FilePath), SND_ASYNC )}
    end;
  finally
    sl.Free;
  end;
end;

FG53 29. Mai 2015 17:03

AW: Wav Datei zufällig abspielen und erkenne
 
Das probiere ich mal auch danke im Vorraus.

FG53 29. Mai 2015 17:16

AW: Wav Datei zufällig abspielen und erkenne
 
Es tut mir leid allerdings bin ich ein wortwörtlicher anfänger.
Allerdings gibt er mir diesen Fehler an.

Delphi-Quellcode:
[Error] Unit2.pas(58): Undeclared identifier: 'FolderSnd1'
Ich will nicht die Arbeit jemand anderen kmoplett übernehmen lassen aber
da ich noch nicht sehr erfahrung habe frage ich hier um Hilfe.

Popov 29. Mai 2015 17:38

AW: Wav Datei zufällig abspielen und erkenne
 
Delphi-Quellcode:
PathSnd := ExtractFilePath(ParamStr(0)) + FolderSnd1;
...
Delphi-Quellcode:
PathSnd
enthält das Verzeichnis in dem sich die Sounds befinden. Dabei wird das Verzeichnis folgendermaßen ermittelt: zuerst gibt
Delphi-Quellcode:
ExtractFilePath(ParamStr(0))
das Verzeichnis zurück, in dem sich das Programm befindet.
Delphi-Quellcode:
FolderSnd1
ist ein Unterordner in dem Programmverzeichnis in dem sich letztendlich die Sounds befinden. Wenn sich die Sound im gleichen Verzeichnis befinden wie die Exe, brauchst du FolderSnd1 nicht. Willst du das alles etwas sortieren, die Sounds also in einem extra Ordner haben, enthält FolderSnd1 den Namen des Ordners.

Letztendlich ist
Delphi-Quellcode:
FolderSnd1
eine (globale) Konstante, wie z. B. "Sounds\" (mit Backslash am Ende). Die Wavs befinden sich dann in dem Unterordner "Sounds".

Du kannst FolderSnd1 als auch weglassen. Du kannst in PathSnd auch einen anderen Pfad angeben.

FG53 29. Mai 2015 18:22

AW: Wav Datei zufällig abspielen und erkenne
 
Danke dir für die super erklärung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:18 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