Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Fragen zur DelphiX und Sounds abspielen (https://www.delphipraxis.net/40868-fragen-zur-delphix-und-sounds-abspielen.html)

ISAS 22. Feb 2005 12:12


Fragen zur DelphiX und Sounds abspielen
 
Arbeite gerade am Sound. Einen Sound einfach nur abspielen zu lassen, funktioniert einwandfrei. Jetzt wollte ich aber wissen, für was die vorgegebenen Prozeduren da sind:

Looped - klar
Frequency - klar
Pan - klar
Volume - klar


Size - unklar
Playing - unklar
MaxPlayingCount - unklar

MaxPlayingCount würde ich schon verstehen, aber es funktioniert nicht. Wenn ich looped auf false stelle und das MaxPlayingCount auf 3, dann wird die WaveFile trotzdem nur einmal abgespielt.

Aja, gibt es eigentlich hier einen Unterschied?:

dxwavelist1.items[0].play(false) - dxwavelist1.items[0].play(true)

jim_raynor 22. Feb 2005 12:34

Re: Fragen zur DelphiX und Sounds abspielen
 
Zitat:

Zitat von ISAS
Arbeite gerade am Sound. Einen Sound einfach nur abspielen zu lassen, funktioniert einwandfrei. Jetzt wollte ich aber wissen, für was die vorgegebenen Prozeduren da sind:

Looped - klar
Frequency - klar
Pan - klar
Volume - klar


Size - unklar
Playing - unklar
MaxPlayingCount - unklar

MaxPlayingCount würde ich schon verstehen, aber es funktioniert nicht. Wenn ich looped auf false stelle und das MaxPlayingCount auf 3, dann wird die WaveFile trotzdem nur einmal abgespielt.

Aja, gibt es eigentlich hier einen Unterschied?:

dxwavelist1.items[0].play(false) - dxwavelist1.items[0].play(true)

Wenn ich mich Recht erinnere gibt MaxPlayingCount die Anzahl an, wie oft der Sound Gleichzeitig abgespielt werden kann.

Bei Play(false) wird das Soundfile Asynchron abgespielt heisst. Bei Play(true) ist Play erst beendet, wenn auch der Sound komplett abgespielt wurde.

Am besten nimmst du mal einen Sound der ungefähr 3 Sekunden lang ist. Und dann folgendes:

Delphi-Quellcode:
dxwavelist1.items[0].MaxPlayingCount:=3;
for Dummy:=0 to 10 do
  dxwavelist1.items[0].Play(true)
Der Sound wird 10 mal hintereinander abgespielt.

Delphi-Quellcode:
dxwavelist1.items[0].MaxPlayingCount:=3;
for Dummy:=0 to 10 do
begin
  dxwavelist1.items[0].Play(false)
  sleep(500);
end;
Der Sound wird gleichzeitig mit einer Verzögerung von 0,5 Sekunden abgespielt. Allerdings max. 3 mal gleichzeitig. Musst mal bissle damit rumspielen.

P.S: Kann sein, dass ich dort true und false vertauscht habe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:35 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