AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Uses mmsystem - .wav abspielen
Thema durchsuchen
Ansicht
Themen-Optionen

Uses mmsystem - .wav abspielen

Ein Thema von Minz · begonnen am 19. Mär 2003 · letzter Beitrag vom 20. Mär 2003
Antwort Antwort
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#1

Uses mmsystem - .wav abspielen

  Alt 19. Mär 2003, 12:49
Hallo,
habe in einem früheren Beitrag gefunden dass man folgendermaßen
wav-dateien abspielen kann:

uses mmsystem;

type
TSoundFlag=(SND_SYNC, SND_ASYNC, SND_LOOP);
...

var flag: TSoundFlag;

flag:=SND_ASYNC;
sndPlaySound('sound.wav',flag);

Da meckert er bei mir inkompatible Typen TSoundFlag und Integer.
Kann mir jemand weiterhelfen?

Gruß Minz
  Mit Zitat antworten Zitat
Benutzerbild von Garby
Garby

Registriert seit: 17. Mär 2003
Ort: Tirol
199 Beiträge
 
Delphi 2005 Professional
 
#2

Einfacher

  Alt 19. Mär 2003, 13:10
Hallo,

schreibs einfach mal so rein:
sndPlaySound('sound.wav', SND_ASYNC); mfg
Garby
Walter
Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#3
  Alt 19. Mär 2003, 13:14
Hab ich schon danke, funktioniert auch,
nur dann kann ich ja nicht bedingungsmäßig
kombinieren.

Gruß Minz
  Mit Zitat antworten Zitat
Benutzerbild von Garby
Garby

Registriert seit: 17. Mär 2003
Ort: Tirol
199 Beiträge
 
Delphi 2005 Professional
 
#4
  Alt 19. Mär 2003, 13:33
Meinst du vielleicht so?
sndPlaySound('sound.wav', SND_ASYNC or SND_LOOP); In diesem Fall wird der Sound asynchron und in einer Schleife abgespielt.

Garby
Walter
Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#5
  Alt 19. Mär 2003, 16:02
nein mein ich auch nicht

das soll nach Bedingungen geschaltet werden.

ich will ja nicht tausend if-abfragen schreiben
wenn async true then sndplaysound(...async)
wenn async and loop true then sndplaysound(...async or loop)
...

umständlich oder?

aaalsoo...deswegen der weg mit dem Datentyp TSoundFlag

alles klaro?

Minz
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#6
  Alt 20. Mär 2003, 14:32
Hi Minz,

Wenn Du TSoundFlag deklarierst, wird z.B. SND_LOOP vom Compiler intern als 2 betrachtet, und hat mit dem SND_LOOP aus mmsystem nix zu tun (ist dort als 8 definiert).

Warum gehst Du den umständlichen Weg über eine neue Typdefinition überhaupt, die Konstanten SND_ASYNC usw. sind in mmsystem doch schon definiert.

Du wirst um If-Abfragen nicht herumkommen, wenn Du Dir Dein flag zusammenbastelst. (Ist zumindest IMHO nicht umständlicher als Dein Weg.)

Beispiel:

flag := 0;
If async Then flag := flag Or SND_ASYNC;
If loop Then flag := flag Or SND_LOOP;
...
sndPlaySound('xyz.wav',flag);

Funktioniert wohlgemerkt nur _ohne_ Deine Typdefinition.

Gruss, teebee
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#7
  Alt 20. Mär 2003, 14:34
- versehentlich doppelt gepostet _
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#8
  Alt 20. Mär 2003, 14:39
btw: sndPlaySound gibt es eigentlich nur noch aus Kompatibilitätsgründen, schau Dir mal die Funktion PlaySound an, damit bist Du wesentlich flexibler, kannst sogar Sounds als Resource in Deine Exe einbinden. Finde ich jedenfalls viel praktischer...

Gruss, teebee
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#9
  Alt 20. Mär 2003, 14:42
Axo
vielen Dank für die Info.

Werde mir PlaySound dann mal anschauen.
Momentan liegen die Sound-Files so mit im Verzeichnis.
Wenns in der EXE mit drin wäre, wärs natürlich sehr praktisch.

Minz
  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 18:48 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