Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   musik abspielen (https://www.delphipraxis.net/160189-musik-abspielen.html)

rollstuhlfahrer 12. Mai 2011 15:42

AW: musik abspielen
 
Ressource ist die Quelle deiner Informationen. Diese Quelle kann grundsätzlich verschiedene Typen haben . Mit hInstance gibst du an, dass der Sound innerhalb deiner Anwendung abgespielt werden soll und nicht z.B. als Systemsound.
Da du mit deiner Funktion auch WAV-Ressourcen (sind in die EXE einkompiliert, liegen als *.RES-Datei vor) abspielen kannst, muss das System UNBEDINGT wissen, aus WELCHER Datei es die Informationen laden soll.

Das gehört zwar zu einem anderen Thema, erklärt aber auch, was hInstance ist: http://blogs.msdn.com/b/oldnewthing/...18/409205.aspx

Bernhard

DeddyH 12. Mai 2011 15:54

AW: musik abspielen
 
Und zu den Binärwerten: 100 => 64 + 32 + 4
Code:
01100100
Jetzt die 1 dazu:
Code:
01100101
Jedes Bit kann einen Wert repräsentieren (oder auch nicht, dann wird es aber normalerweise schlicht ignoriert). Schlaue Programmierer deklarieren jetzt zu diesen Bits sprechende Konstanten, damit man weiß, wofür das einzelne Bit steht. Das funktioniert natürlich auch für Bit-Kombinationen, z.B. so:
Delphi-Quellcode:
const
  flRead = 1;
  flWrite = 2;
  flReadWrite = flRead or flWrite; // = 3
Beim Auswerten geht das dann analog
Delphi-Quellcode:
if Bitmaske and flRead = flRead then //Lese-Bit gesetzt

Coxy 18. Mai 2011 15:13

AW: musik abspielen
 
Zitat:

Zitat von rollstuhlfahrer (Beitrag 1100450)
Ressource ist die Quelle deiner Informationen. Diese Quelle kann grundsätzlich verschiedene Typen haben . Mit hInstance gibst du an, dass der Sound innerhalb deiner Anwendung abgespielt werden soll und nicht z.B. als Systemsound.
Da du mit deiner Funktion auch WAV-Ressourcen (sind in die EXE einkompiliert, liegen als *.RES-Datei vor) abspielen kannst, muss das System UNBEDINGT wissen, aus WELCHER Datei es die Informationen laden soll.

Das gehört zwar zu einem anderen Thema, erklärt aber auch, was hInstance ist: http://blogs.msdn.com/b/oldnewthing/...18/409205.aspx

Bernhard

Also würde das Lied automatisch stoppen, wenn ich die Anwendung schließe, wenn ich hinstance benutze?

Ich dachte der Verweis gibt Auskunft darüber, welche Datei es abspielen soll.

Was ich aber nicht verstehe,
mein Freund benutzt auch Musik nur funktioniert das bei ihm auch ohne hinstance,
bei mir kommt jedoch der Fehler: nicht genüged Parameter????

Dein Link ist zwar nett,
jedoch bin ich ein Anfänger und verstehe daher (fast) nichts :/

Grüße

DeddyH 18. Mai 2011 15:19

AW: musik abspielen
 
Dann macht er wohl irgendetwas anders :glaskugel:

Coxy 18. Mai 2011 19:41

AW: musik abspielen
 
kann es keiner "noch" einfach für mich erklären bitte?
Grüße

EWeiss 18. Mai 2011 19:47

AW: musik abspielen
 
Zitat:

Zitat von Coxy (Beitrag 1101644)
kann es keiner "noch" einfach für mich erklären bitte?
Grüße

Zitat:

Handle to the instance of the module to be associated with the window.
Sorry aber noch einfacher geht es nicht.

gruss

rollstuhlfahrer 18. Mai 2011 20:35

AW: musik abspielen
 
Zitat:

Zitat von DeddyH (Beitrag 1101563)
Dann macht er wohl irgendetwas anders :glaskugel:

Ja, und zwar vor allem bei snd_play mit *_LOOP. Da knallt es nämlich, wenn man die Anwendung beendet und nicht vorher den Sound wieder abstellt (-> MSDN). Das Problem hatte ich nämlich, als ich einem Freund ein Programm für den Info-Unterricht geschrieben habe.

Bernhard

DeddyH 18. Mai 2011 21:04

AW: musik abspielen
 
Ich helfe ja gerne, wenn ich kann, aber wenn der TE dann nicht mit ausreichenden Infos herausrückt vergeht mir schon ein bisschen die Lust :|

Coxy 18. Mai 2011 21:55

AW: musik abspielen
 
welche Informationen meinst du denn?
Was möchtest du wissen?
Grüße

alfold 18. Mai 2011 22:37

AW: musik abspielen
 
Zitat:

Zitat von Coxy (Beitrag 1101561)
Also würde das Lied automatisch stoppen, wenn ich die Anwendung schließe, wenn ich hinstance benutze?

Die Unit mmsystem ist nur die Schnittstelle zur windowsapi.
Egal ob du hinstance benutzt oder nur files auf der Festplatte
Wenn du Loop benutzt wird es auch hier krachen, weil der Loop auf diese Resource zugreift!
Wurde aber schon genannt!
Du musst also den sound stoppen, bevor Du Dein Programm beendest!
Zitat:

Zitat von Coxy (Beitrag 1101561)
Ich dachte der Verweis gibt Auskunft darüber, welche Datei es abspielen soll.

Ja, nur musst du da noch einiges beachten!
HInstance zeigt nur auf den Inhalt Deiner Exe. Dort könnte man auch MusikDateien einbinden. Das einbinden geht aber nur einmal! Dann sind diese MusikDateien immer in deiner EXE. Ein späteres ändern geht nur, wenn Du dein Prog mit Neuen MusikDateien compelierst!
Anbei, Deine Exe wird dann aber auch seeehr Big:wink:

Zitat:

Zitat von Coxy (Beitrag 1101561)
Was ich aber nicht verstehe,
mein Freund benutzt auch Musik nur funktioniert das bei ihm auch ohne hinstance,
bei mir kommt jedoch der Fehler: nicht genüged Parameter????

Dann benutzt er nur Dateien die auf der Festplatte sind!
Und die werden so geladen, wie Du es schon oben aufgeführt hast! ohne hinstance

Also denke dran. Wenn du loop ausführst und Du willst Dein Programm beenden, musst Du vorher den Sound Stoppen.

Ansonsten gibt es für das mmsystem genügend Beispiele hier im Forum.
Einfach mal ein paar testen(suche im Forum benutzten).

Wenn Dein Prog dann immer noch nicht funct, dann solltest Du aber auch ein bischen Code Zeigen wo an welcher Stelle es zu Probleme kommt. Nur so kann man auch effektiv Helfen.
Alles andere währe nur Raten:|

Gruss alfold


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:17 Uhr.
Seite 4 von 4   « Erste     234   

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