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
Coxy

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

musik abspielen

  Alt 1. Mai 2011, 22: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, 22: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, 22: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
43.202 Beiträge
 
Delphi 12 Athens
 
#4

AW: musik abspielen

  Alt 2. Mai 2011, 07: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'), ...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Coxy

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

AW: musik abspielen

  Alt 2. Mai 2011, 14: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 14:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.546 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: musik abspielen

  Alt 2. Mai 2011, 14: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 14:54 Uhr)
  Mit Zitat antworten Zitat
Coxy

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

AW: musik abspielen

  Alt 2. Mai 2011, 15: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
Antwort Antwort


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