AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi PlaySound mit Polyphonie
Thema durchsuchen
Ansicht
Themen-Optionen

PlaySound mit Polyphonie

Ein Thema von noch_ein_hannes · begonnen am 31. Mär 2005 · letzter Beitrag vom 12. Apr 2005
Antwort Antwort
noch_ein_hannes

Registriert seit: 18. Sep 2003
130 Beiträge
 
#1

PlaySound mit Polyphonie

  Alt 31. Mär 2005, 09:30
Hi,

mich quält gerade folgendes Problem:
Ich habe z.B.: einen Timer, der permanent einen Sound abspielen soll ... jetzt bitte nicht nach dem Sinn fragen - es geht eher allgemein ums Verständnis.

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  PlaySound(nil,0,0);
  PlaySound('shot', hInstance, SND_RESOURCE or SND_ASYNC);
end;
Wenn der Timeraufruf kürzer als die Länge des Sounds ist, wird der Sound abgeschnitten. Ist mir ja irgendwie auch klar ...
Ich würde es aber gerne haben, dass ich mehrere (gleiche und/oder verschiedene) Sounds abspielen kann. Wahrscheinlich muss ich jedesmal ein neues Handle dafür definieren, aber wie?

sonnige Grüsse und besten Dank,
Hannes
- everything is possible -
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: PlaySound mit Polyphonie

  Alt 31. Mär 2005, 09:36
Ich kenn mich damit nicht aus, aber kannst du im Timer nicht eine andere Prozedur starten, die dann in einen eigenen Thread läuft und somit vom Timer unabhängig ist? Und dann für jeden Sound ein Thread... Aber ich denke wahrscheinlich wieder zu kompliziert.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
noch_ein_hannes

Registriert seit: 18. Sep 2003
130 Beiträge
 
#3

Re: PlaySound mit Polyphonie

  Alt 31. Mär 2005, 10:02
Hmm, das klingt wirklich kompliziert. Ich schätze mal, dass es bestimmt ne einfachere Möglichkeit gibt. Wenn ich z.B. in Javascript ein neues Fenster mit open() erzeuge, dann bekommt es automatisch ein 'freies' Handle zugewiesen. So etwas sollte es doch auch in Delphi geben - oder liege ich da jetzt absolut falsch?
- everything is possible -
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: PlaySound mit Polyphonie

  Alt 31. Mär 2005, 10:57
Moin!

PlaySound() ist ein kleiner Hilfsschnipsel der grossen WinAPI und hat nix mit dem MultimediaSystem zu tun. PlaySound kann IMHO nur einen Sound gleichzeitig abspielen. Wenn du mehrere gleichzeitig abspielen willst, dann geh weg von dieser Billigschnittstelle und beschäftige dich direkt mit der richtigen API: MultiMedia API von Windows...

Du rufst ja 2x PlaySound() in deinem Timer auf. Der erste Aufruf stoppt auch alle gerade aktiven Sounds...

MfG
Muetze1
  Mit Zitat antworten Zitat
noch_ein_hannes

Registriert seit: 18. Sep 2003
130 Beiträge
 
#5

Re: PlaySound mit Polyphonie

  Alt 31. Mär 2005, 11:19
Gibt es denn in der richtigen MultiMedia API eine einfache Möglichkeit á la PlaySound()?
- everything is possible -
  Mit Zitat antworten Zitat
Benutzerbild von atreju2oo0
atreju2oo0

Registriert seit: 5. Dez 2003
Ort: Berlin
289 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: PlaySound mit Polyphonie

  Alt 31. Mär 2005, 11:36
Natürlich nicht...
Aber es ist eigentlich nicht schwer.
Ich habe das mit der Bass.dll gemacht!
Kannste Dir hier runterladen!
Da ist dann auch nen Beispiel mit drin wo alles funktioniert und
Du schon mehrere Sounds abspielen kannst!
Thomas
  Mit Zitat antworten Zitat
noch_ein_hannes

Registriert seit: 18. Sep 2003
130 Beiträge
 
#7

Re: PlaySound mit Polyphonie

  Alt 31. Mär 2005, 11:54
Klar mit der bass.dll könnte ich es machen. Aber ich möchte das Prog so klein wie nur möglich bekommen ... und ohne extra dll und so ...

Über ein anschauliches Beispiel mit der API würde ich mich freuen!
- everything is possible -
  Mit Zitat antworten Zitat
noch_ein_hannes

Registriert seit: 18. Sep 2003
130 Beiträge
 
#8

Re: PlaySound mit Polyphonie

  Alt 12. Apr 2005, 13:48
Hmmm, gibt es da wirklich keine "kleine" Lösung?
- everything is possible -
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#9

Re: PlaySound mit Polyphonie

  Alt 12. Apr 2005, 13:54
Ich glaube das kannst du über Bei Google suchenmciSendCommand machen
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  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 10:54 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