AGB  ·  Datenschutz  ·  Impressum  







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

musik abspielen

Ein Thema von Coxy · begonnen am 1. Mai 2011 · letzter Beitrag vom 18. Mai 2011
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Coxy

Registriert seit: 27. Mär 2011
28 Beiträge
 
#1

musik abspielen

  Alt 1. Mai 2011, 23:37
Delphi-Version: 5
Hallo,
ich versuche in meinem Programm gerade Musik abspielen zu lassen.
Dazu benutze ich diesen Code
[DP]sndPlaySound(PChar('C:\Users\Anonym\Desktop\Delphi Project\Strings.wav'),SND_LOOP);[/DP]

Dann kommen allerdings Fehler mit denen ich nichts anfangen kann und zwar:
undefinierte Bezeichnung sndPlaySound
undefinierte Bezeichnung SND_LOOP

Wo liegt das Problem denn genau?
Grüße
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: musik abspielen

  Alt 1. Mai 2011, 23:42
uses mmsystem;

DELPHI statt DP für die Codeformaatierung
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
xxsasch4xx

Registriert seit: 1. Mär 2010
210 Beiträge
 
#3

AW: musik abspielen

  Alt 1. Mai 2011, 23:43
Code:
 
playsound(pchar('.\sounddatei.wav'),hinstance,snd_async);
Nur noch den richtigen Pfad anpassen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: musik abspielen

  Alt 2. Mai 2011, 08:11
Zitat:
Dann kommen allerdings Fehler mit denen ich nichts anfangen kann und zwar:
undefinierte Bezeichnung
Ist eigentlich ganz einfach.

Der Compiler kennt an dieser Stelle diese Befehle/Konstanten nicht,
bzw. diese wurden vorher nirgendwo deklariert und existieren demnach nicht.

Wenn man hier nun die nötige Unit einbindet und somit dem Compiler vorher sagt, daß es das gibt (in dieser Unit sind diese Dinge ja deklariert),
dann kann er sie finden und alles ist gut.



Ansonsten: Verwende besser keine statischen absoluten Pfade,
denn diese stimmen nur auf deinem aktuellen System/PC und nicht bei Anderen.
Relative Pfade sind allerdings auch nicht sonderlich gut, da diese nicht vom Pfad der EXE ausgehn, sondern vom aktuellen Arbeitsverzeichnis.
Dynamische absolute Pfade wären da besser.

Wenn deine EXE also auch in C:\Users\Anonym\Desktop\Delphi Project\ liegt, dann wäre ExtractFilePath(ParamStr(0)) oder ExtractFilePath(Application.ExeName) ganz passend,
also sndPlaySound(PChar(ExtractFilePath(ParamStr(0)) + 'Strings.wav'), ... , bzw.
Delphi-Quellcode:
MeinVerzeichnis := ExtractFilePath(ParamStr(0));

sndPlaySound(PChar(MeinVerzeichnis + 'Strings.wav'), ...
$2B or not $2B
  Mit Zitat antworten Zitat
Coxy

Registriert seit: 27. Mär 2011
28 Beiträge
 
#5

AW: musik abspielen

  Alt 2. Mai 2011, 15:48
Zitat:
Ist eigentlich ganz einfach.

Der Compiler kennt an dieser Stelle diese Befehle/Konstanten nicht,
bzw. diese wurden vorher nirgendwo deklariert und existieren demnach nicht.

Wenn man hier nun die nötige Unit einbindet und somit dem Compiler vorher sagt, daß es das gibt (in dieser Unit sind diese Dinge ja deklariert),
dann kann er sie finden und alles ist gut.
und wie genau mach ich das? (Nur zur Anmerkung ich benutze Delphi 6)
Gruß

Geändert von Coxy ( 2. Mai 2011 um 15:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#6

AW: musik abspielen

  Alt 2. Mai 2011, 15:51
Die Unit einfach hinten an die uses-Klausel mit einem Komma getrennt anhängen.
Delphi-Quellcode:
unit UnitWuppdi;

interface

uses Windows, SysUtils, Messages, Classes, {weitere Units}, DeineUnit;
[edit] Wenn Du allerdings im interface-Teil noch nicht auf Klassen oder Routinen der einzubindenden Unit zugreifst, kannst Du auch im implementation-Teil eine uses-Klausel einfügen bzw. wie beschrieben erweitern. [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH ( 2. Mai 2011 um 15:54 Uhr)
  Mit Zitat antworten Zitat
Coxy

Registriert seit: 27. Mär 2011
28 Beiträge
 
#7

AW: musik abspielen

  Alt 2. Mai 2011, 16:11
Vielen dank, es klappt jetzt
aber die Musik Datei wird nicht wiederholt obwohl ich am Ende ein SND_LOOP stehen habe.
Und ich würde gern das SND_LOOP mit dem SND_ASYNC kombinieren ist das überhaupt Möglich?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#8

AW: musik abspielen

  Alt 2. Mai 2011, 16:15
Jepp, ist es, einfach "verodern": SND_ASYNC or SND_LOOP.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Coxy

Registriert seit: 27. Mär 2011
28 Beiträge
 
#9

AW: musik abspielen

  Alt 2. Mai 2011, 16:42
super läuft jetzt alles wie ich es wollte

PS: eine letzte Frage noch
warum heißt es SND_ASYNC or SND_LOOP
und nicht SND_ASYNC and SND_LOOP?

Also nur vom Prinzip her jetzt or heißt doch das eine oder das andere aber ich ja beides sozusagen ein und haben

Gruß
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#10

AW: musik abspielen

  Alt 2. Mai 2011, 16:44
Das habe ich vor längerer Zeit einmal in einem Tutorial beschrieben.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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